简体   繁体   English

如何使用LINQ to Entity中的包含功能

[英]How to use feature like Contains in LINQ to Entity

I have this query : 我有这个查询:

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();

But i get the error message : 但是我收到错误消息:

LINQ to Entities dont recognise the method « Boolean Contains(System.Object) », so it cannot be translated. LINQ to Entities无法识别«Boolean Contains(System.Object)»方法,因此无法转换。

How can I get my results ? 如何获得结果?

Thanks ! 谢谢 !

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

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

It has already been asked here 已经被问到这里了

Try something like this: 尝试这样的事情:

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();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM