IQueryable throw“指定的参数超出了有效值的范围.”
码:
public IQueryable<T> ApplyOrder(IQueryable<T> items, GridSortDirection direction)
{
switch (direction)
{
case GridSortDirection.Ascending:
return items.OrderBy(_expression);
case GridSortDirection.Descending:
return items.OrderByDescending(_expression);
}
}
其中_expression的类型是:
Expression<Func<T, TKey>> expression
这是
{x => x.customers.studentschoolenrolments.ElementAt(0).schools.Name}
我不想要这个例子.是否可以检查元素是否存在以及是否返回空字符串?
我尝试使用如下方法:
public static bool IsNullOrEmpty<T>(this IEnumerable<T> items) {
return items == null || !items.Any();
}
但我不知道如何在items.OrderBy(_expression)中使用它;
最佳答案 我的头喜欢混淆IEnumerable和IQueryable,所以这可能是无稽之谈(但我没有看到任何db-tags).你不能像这样使用FirstOrDefault:
{x => x.customers.studentschoolenrolments.FirstOrDefault()?.schools.Name ?? string.Empty}