Как проверить, является ли LinqDataSource пустым после выбора?

У меня есть asp.NET приложение, в котором я использую LinqDataSource контроль, чтобы заполнить ListView контроль. Вот код для моего LinqDataSource Контрольного OnSelecting команда:

protected void lds_Selecting(object sender, LinqDataSourceSelectEvenArgs e)
{
    var db = new Models.EF.Entities();
    e.Result = from x in db.Sliders
                where x.IsPublic == true
                select x;
}

Это прекрасно работает, но теперь я хочу запустить оператор if в случае, если результат пуст. Как я могу увидеть, если результат пуст?

1 ответ

Решение

Использовать Any метод. Кроме того, LinqDataSourceSelectEvenArgs хранит данные в виде object так что снимаешь так используй as чтобы получить IEnumerable<T> на котором вы можете запустить Any:

e.Result = (from x in db.Sliders
            where x.IsPublic == true
            select x);

var collection = e.Result as IEnumerable<Slider>;
if(collection != null && !collection.Any()) 
{ 
    /*your code*/
}
Другие вопросы по тегам