我想在LINQ查询中创建动态where子句。我有一个字符串生成器sb
具有附加值Country=null || City=null || State=null
和一个数据表,其中包含名为Name,Lastname,Country,City,State的列。我想将sb
值与数据表列进行比较,并获得空/空行。
所以我想要一个像这样的LINQ查询:
var query = from p in datatable.AsEnumerable()
where sb.tostring() // ------------error
select p
但它返回错误。我该如何解决这个问题?
答案 0 :(得分:0)
您可以使用Dynamic Linq
var query = datatable.Where("Country==null || City==null || State==null");
您需要在链接中下载并包含C#文件并添加:
using System.Linq.Dynamic;
答案 1 :(得分:0)
你不能在LINQ中这样做。动态LINQ可能会对您有所帮助,但这对您来说可能不是最好的解决方案。
为什么要将查询创建为字符串?您可以动态构建查询本身。看看PredicateBuilder
。