在stringBuilder中使用linq查询

在stringBuilder中使用linq查询,linq,linq-to-sql,linq-to-objects,Linq,Linq To Sql,Linq To Objects,我想在LINQ查询中创建动态where子句。我有一个stringbuilder sb具有附加值Country=null | | City=null | | | State=null,还有一个datatable,其列名为Name、Lastname、Country、City、State。我想将sb值与datatable列进行比较,并获得空/空行 所以我想要一个像这样的LINQ查询: var query = from p in datatable.AsEnumerable()

我想在LINQ查询中创建动态where子句。我有一个stringbuilder sb具有附加值Country=null | | City=null | | | State=null,还有一个datatable,其列名为Name、Lastname、Country、City、State。我想将sb值与datatable列进行比较,并获得空/空行

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

var query = from p in datatable.AsEnumerable()
            where sb.tostring() // ------------error
            select p 
但它返回一个错误。如何解决此问题?

您可以使用

您需要下载C文件并将其包含在链接中,然后添加:

using System.Linq.Dynamic;

在林克你不能这么做。动态LINQ可能会帮助您,但这可能不是您的最佳解决方案


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

我想你做不到。您要做的是对字符串求值。在C语言中很难做到这一点,我要指出的是,您将在计算机上获取所有表,然后对其进行过滤,因此,如果表很大,您将杀死sql server:-如果您真的想实现eval函数,这可能是一个很好的开始:
using System.Linq.Dynamic;