EF Lambda排序表达式
ParameterExpression left = Expression.Parameter(typeof(User), "x"); // x => x.Name
MemberExpression body = Expression.Property(left, sortProperty); // 排序名称
Expression<Func<User, object>> sortExpression =
Expression.Lambda<Func<User, object>>(
Expression.Convert(
Expression.Property(left, sortProperty),
typeof(object)),
left);
users = isAse.Value ? users.OrderBy(sortExpression) : users.OrderByDescending(sortExpression);
这是我的代码
ParameterExpression param = Expression.Parameter(typeof(MyEntity), "x");
Expression<Func<MyEntity, object>> sortExpression =
Expression.Lambda<Func<AMyEntity, object>>(
Expression.Property(param, sortKey), param);
正确方式
Expression<Func<MyEntity, object>> sortExpression =
Expression.Lambda<Func<AMyEntity, object>>(
Expression.Convert(
Expression.Property(param, sortKey),
typeof(object)),
param);
完结