请高手帮忙解决一个小问题,谢谢!

yanzhiyong yanzhiyong 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


//根据条件分页显示返回泛型集合
public List<Entity.Income> GetList(int startIndex, int pageSize, Expression<Func<Entity.Income, bool>> predicate,string sort,string sortDirection)
{
try
{

if (predicate == null)
{


return dct.Income.OrderByDescending(b => b.Id).Skip(startIndex - 1).Take(pageSize).ToList();
}
else
{
return dct.Income.Where(predicate)
.OrderByDescending(b=>b.id).Skip(startIndex - 1).Take(pageSize).ToList();
}
}
catch (Exception e)
{
throw e;
}





.OrderByDescending(b => b.Id) 要变成动态排序怎么整?
string sort,string sortDirection 怎么传进来。方向我知道,这个可以判断然后用Orderby 的默认。

排序字段怎么传入? 传 b=>b.id 这个表达式。或者直接传个字符串进去。。



public static class OrderExpress
{
public static Func<T, Tkey> DynamicLambda<T, Tkey>(string propertyName)
{
ParameterExpression p = Expression.Parameter(typeof(T), propertyName);

Expression body = Expression.Property(p, typeof(T).GetProperty(propertyName));

var lambda = Expression.Lambda<Func<T,Tkey>>(body, p);

return lambda.Compile();
}

用上面的方法可以传入,

dct.Income.Where(predicate).OrderByDescending(OrderExpress.DynamicLambda<Entity.Income,string>(sort)).Skip(startIndex - 1).Take(pageSize).ToList();


问题是这个要传入一个类型的参数,怎么通过反射直接取得类型的实参。。


怎么样做我只要传入排序的字符就行了,不需要传入类型。。

dct.Income.Where(predicate).OrderByDescending(OrderExpress.DynamicLambda<Entity.Income>(sort)).Skip(startIndex - 1).Take(pageSize).ToList();

...全文

相关推荐

leetcode在哪-problem-solving:问题解决回购。目的是收集不同编程语言的问题解决方案

leetcode在哪问题及其解决方案。 解决问题,出色的速度伴随着良好的准确性。 您编写的代码越准确,您获得的速度就越快。 现在,精度伴随着解决问题! 请阅读! 因此,这里向您展示了一个包含最大问题集合(当然还有它们的解决方案)的存储库。 使它成为人们在想练习解决问题以及在某些编码竞赛中遇到某些编程问题时可以求助的唯一存储库。 但是,我不鼓励您立即查看解决方案。 先搞清楚问题,再集思广益,如果还是不能解决,就去找解决办法! 确保你也通过添加不同的问题及其解决方案来为这个 repo 做出贡献。 我们也鼓励使用不同语言的解决方案! 文件按语言分组以进行更有组织的搜索: 有各种网站专注于解决问题的技能。 其中一些,即,拥有您一直渴望的所有挑战: 当涉及到算法时,最好的建议是不断磨砺——直到它们看起来更简单。 在您动手解决算法挑战之前,您可以了解很多有关数据结构和算法的知识。 一些学习它的好来源:

weixin_38737335

常见Excel错误提示及问题解决方法.docx

常见Excel错误提示及问题解决方法.docx

Lidx0710

quadratic-function-apparatus:一个Java swing应用程序,它绘制并解决用户指定的二次函数。 它还具有一个选项,可以要求用户根据难度级别查找随机生成的二次函数的根。 练习和可视化二次方程式问题的好方法!

一个Java swing应用程序,它绘制并解决用户指定的二次函数。 它还具有一个选项,可以要求用户根据难度级别查找随机生成的二次函数的根。 练习和可视化二次方程式问题的好方法! 要运行该程序,请运行FunctionApparatus.java文件。

可吸不是泥

Java mybatis常见问题及解决方案

主要介绍了Java mybatis常见问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

weixin_38697940

Printnet:不和谐的机器人!

欢迎使用Printnet! 该网站的所有代码均在上方。 如果您发现网站或漫游器有问题,请使用“ ISSUES”部分。 如果您发现并解决了一个问题,或者想提出一个想法,请提出请求。 如果要查看网站和机器人项目的情况,请使用“项目”部分。 如果您想添加或查看WIKI,请使用上面的WIKI部分。 Wyatt Lipscomb创建的Printnet。 感谢Sawyer提供有关CSS的帮助。

王奥雷
评论 15
收藏 已收藏
分享
返回顶部
yanzhiyong
LINQ 8,492 成员 4,736 内容