所有表都有creation_date(创建时间)字段, 如果要默认creation_date倒序排列改怎么修改,求大神赐教,先谢过!
var parameter = Expression.Parameter(typeof(TEntity), "p"); var propertyAccess = Expression.MakeMemberAccess(parameter, property); var orderByExp = Expression.Lambda(propertyAccess, parameter); string methodName = page.isDesc ? "OrderByDescending" : "OrderBy"; MethodCallExpression resultExp = Expression.Call(typeof(Queryable), methodName, new Type[] { typeof(TEntity), property.PropertyType }, query.Expression, Expression.Quote(orderByExp)); query = query.Provider.CreateQuery<TEntity>(resultExp);
自己解决了, 也是在园子里找到的答案
list.orderby(m=>m.字段)而不是外面随便点一个就可以的.
现在的分页改成这样了对吗? 但还是不知道 orderby怎么传值
@t101lian: orderby和前面一样.传表达式树.
你这种玩玩可以.实际项目这么封装没什么意义.
分析表达式。 page.Order. page是怎么鬼,linq哪里知道,对不
@czd890: 是分页的信息的,
现在的分页已经改成这样, 但是不知道调用时orderby改怎么传值
@t101lian: 如果要用string的order 字段。那你就要自己编译linq语句了。
比如这样:http://blog.csdn.net/lan_liang/article/details/68523451