使用linq查询与stringBuilder

时间:2011-10-15 10:49:03

标签: linq linq-to-sql linq-to-objects

我想在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 

但它返回错误。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以使用Dynamic Linq

var query = datatable.Where("Country==null || City==null || State==null");

您需要在链接中下载并包含C#文件并添加:

using System.Linq.Dynamic;

答案 1 :(得分:0)

你不能在LINQ中这样做。动态LINQ可能会对您有所帮助,但这对您来说可能不是最好的解决方案。

为什么要将查询创建为字符串?您可以动态构建查询本身。看看PredicateBuilder