我正在尝试使用 Contains 方法通过动态 LINQ 运行 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());
这是我使用后者收到的错误:
“Int32”类型中不存在适用的方法“包含”
有没有办法做到这一点而不必使用多个 OR 语句来绕过使用 IN 语句?
这些正在查找的数据库中的字段是可为空的字段。这是造成问题的原因吗?我把它从int切换到int?它仍然显示相同的错误。有什么建议么?