如何在LINQ to Entity中使用像Contains这样的功能

时间:2013-07-12 09:46:15

标签: c# database linq

我有这个问题:

int[] listId = {15, 56, 89, 24}
var queryError = from error in db.errors
                 where listId.Contains(error.battery_id)                                    
                 select error;

 List<error> bufferErrorList = new List<error>();
 bufferErrorList = queryError.ToList();

但我收到错误消息:

  

LINQ to Entities不识别方法«布尔值   包含(System.Object)»,因此无法翻译。

我如何获得结果?

谢谢!

2 个答案:

答案 0 :(得分:0)

您是否尝试将对象转换为int?

where listId.Contains((int)error.battery_id)  

答案 1 :(得分:0)

已经问过here

尝试这样的事情:

int[] listId = {15, 56, 89, 24}
var queryError = from error in db.errors
                 where listId.Any(x => x == error.battery_id)                                    
                 select error;

 List<error> bufferErrorList = new List<error>();
 bufferErrorList = queryError.ToList();