我想通过使用Contains方法通过动态LINQ运行IN语句。如果使用下面的代码,它运行得很好:如何使用System.Linq.Dynamic运行SQL等效的IN语句?
var statuses = new List<string> { "Active" };
result = result.Where("@0.Contains(Status)", statuses.ToArray());
但是,当我切换到一个整数数组,我得到一个错误:
var years = new List<int> { 2012 };
result = result.Where("@0.Contains(Year)", years.ToArray());
这是我收到使用后的错误:
No applicable method 'Contains' exists in type 'Int32'
有没有办法做到这一点,而不必诉诸使用多个OR语句来解决使用IN语句?
这些查找的数据库中的字段是可为空的字段。这是造成这个问题吗?我把它从int切换到int?它仍然显示相同的错误。有什么建议么?
'result'是什么数据类型? –
IQueryable其中IRecord模仿我的数据库结构。 –
snoluet