Код: Выделить всё
public static IAsyncEnumerable SortByColumn(IQueryable queryable, string? sortKey, string? sortType)
{
if (sortType == null || sortKey == null)
return queryable.AsAsyncEnumerable();
var parameter = Expression.Parameter(typeof(T), "u");
var member = sortKey.Split('.')
.Aggregate((Expression)parameter, Expression.PropertyOrField);
var converted = Expression.Convert(member, typeof(object));
LambdaExpression orderByExp = Expression.Lambda(converted, parameter);
Expression exp = (Expression)orderByExp;
return sortType.ToLower() == "asc"
? queryable.OrderBy(exp).AsAsyncEnumerable()
: queryable.OrderByDescending(exp).AsAsyncEnumerable();
}
< /code>
sortKeyКод: Выделить всё
NestedItems.FirstOrDefault(n=>n.Name)
< /code>
I should change the form of memberПодробнее здесь: https://stackoverflow.com/questions/797 ... expression