动态LINQ过滤器

时间:2018-01-23 02:44:28

标签: linq

我正在使用System.Linq.Dynamic,我有以下代码。

var filter = "Id==1 AND Id==2 AND ID==3"; 
var docs= context.Documents.Where(filter);

以上代码有效。 我想把它改成像

这样的东西
var filter = "(new int[]{1,2,3}).Contains(Id)";
var docs= context.Documents.Where(filter);

有可能吗?

1 个答案:

答案 0 :(得分:1)

System.Linq.Dynamic文档说:

The expression language supports integer, real, string, and character literals.

因此不支持数组文字。

此外,Contains未列为受支持。

请参阅Dynamic Expressions文档。