Dynamic Linq搜索多个类型的多列,包括可空类型

时间:2012-07-27 19:22:52

标签: c# linq expression-trees dynamic-linq

我需要动态选择我的列,并且我不知道列的类型提前。我有一个字符串,我想搜索所有列,如果它们包含该字符串,将非字符串转换为字符串进行比较。

string format = "Convert.ToString({0}).Contains(@0)";
Model.Where(String.Format(format, columnName), searchString);

它打破了可以为空的类型,但这应该没问题。我可以使用HasValue和Value然后转换为字符串。为此,我需要检查类型是否为Nullable<>与typeof。所以我写了一个很大的令人讨厌的字符串传递给动态linq,它打破typeof我试图写一个表达式树,但我没有得到任何地方。有什么办法可以做我想要的吗?

1 个答案:

答案 0 :(得分:1)

看一下这篇博文。

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

关于如何使用DLINQ,它可以提供帮助