c# – 如何将表达式传递给LINQ查询?

c# – 如何将表达式传递给LINQ查询?,第1张

概述我可以将Expression传递给LINQ Select()方法: public IQueryable<T> GetInfo(long limit, Expression<Func<MyType, T>> selector){ return DbSet.Where(t => t.id < limit).Select(selector)} 如何使用LINQ样式的查询来做同样的事情? pu 我可以将Expression传递给liNQ Select()方法:

public Iqueryable<T> GetInfo(long limit,Expression<Func<MyType,T>> selector){    return DbSet.Where(t => t.ID < limit).Select(selector)}

如何使用liNQ样式的查询来做同样的事情?

public Iqueryable<T> GetInfo(long limit,T>> selector){    var result = from t in DbSet                 where t.ID < limit                 select selector(t) // doesn't work    return result}
解决方法 那么你可以使用:

var result = (from t in DbSet             where t.ID < limit             select t).Select(selector);

…但你不能只在查询表达式中使用选择器,因为它隐含地包装了你不想要的额外层.

目前尚不清楚为什么你想在这里使用查询表达式,请注意 – 我强烈建议你对这两种liNQ样式感到满意并使用当时更合适的东西 – 在这种情况下你是原始样式码.

总结

以上是内存溢出为你收集整理的c# – 如何将表达式传递给LINQ查询?全部内容,希望文章能够帮你解决c# – 如何将表达式传递给LINQ查询?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1219895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存