繁体   English   中英

LINQ查询中的动态where子句

[英]Dynamic where clause in linq query

对不起,我的英语不好。 我有个问题。 我想在LINQ查询中创建动态where子句。 我有一个列表对象名称“ list1”,具有值CountryCityState和一个数据表,该数据表的列名为NameLastnameCountryCityState 我想将list1值与datatable列进行比较,并获取null /空行。

所以我想要这样的LINQ查询:

var query = from p in datatable.AsEnumerable()
            where list1 == null
            select p 

但返回错误。 我怎么解决这个问题?

提前致谢。

好的,让我们开始吧-您的查询非常糟糕。

  • 您应该没有datatable.AsEnumerable强制进行表扫描(遍历整个表)。
  • 其次,您必须对所有字段进行表达编码。 这将变得令人讨厌-根据定义,这将非常糟糕。

通常,每个查询本身都是一个IQueryable ,因此您可以链接where条件。非常好-我自己部分使用它,定义核心查询,然后在执行之前根据需要(通过输入参数)添加其他where子句。

可悲的是,通过单个字段匹配将表与元素列表进行比较,就像从sql级别得到的一样糟糕。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM