如何替换表达式>进入 linq to sql 表达式的 where 子句
我想将以下谓词设置为以表达式语法编写的 linq 语句的 where 子句。
Expression<Func<Purchase, bool>> condition = p => p.Price > 100;
from purchase in dc.GetTable<Purchase>()
where condition
select ...
但是,编译器无法确定在哪里使用:IQuaryable<>或IEnumerable<>。 在不将 linq 表达式转换为方法链的情况下如何解决这个问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能像那样做
where条件
。您可以将条件合并到 where 子句 (where buy.Price>100) 中,或者在查询表达式中使用 Where(condition) 方法调用,就像这样,您可以将它们组合起来。
You can't do
where condition
just like that. Either you incorporate the condition in the where clause (where purchase.Price>100) or use the Where(condition) method call inside the query expression, likeThis is the way you can combine them.
尝试:
Try: