110,570
社区成员
发帖
与我相关
我的任务
分享
var parameter = Expression.Parameter(typeof(TEntity), "t");
var express = Expression.Lambda<Func<TEntity, object>>(Expression.Property(parameter, property), parameter);
var parameter = Expression.Parameter(typeof(TEntity), "t");
IOrderedQueryable<TEntity> result;
var express = Expression.Lambda(typeof(Func<,>).MakeGenericType(typeof(TEntity), property.PropertyType), Expression.Property(parameter, property), parameter);
if (displayColumn.SortDescending)
{
var method = typeof(Queryable).GetMethods().Where(t => t.Name == "OrderByDescending").ElementAt(0).MakeGenericMethod(typeof(TEntity), property.PropertyType);
result = (IOrderedQueryable<TEntity>)method.Invoke(DbSet, new object[] { DbSet, express });
}
else
{
var method = typeof(Queryable).GetMethods().Where(t => t.Name == "OrderBy").ElementAt(0).MakeGenericMethod(typeof(TEntity), property.PropertyType);
result = (IOrderedQueryable<TEntity>)method.Invoke(DbSet, new object[] { DbSet, express });
}
DbSet就是DbSet<TEntity>的实例名。