在SQL中,我可以使用IN
运算符:
select * from project where id IN (select f.id_project from funds)
如何将此语句转换为LINQ?
Controller.Project.Where(p => p.id == id_funds); // I can assign only one id funds
答案 0 :(得分:2)
使用Contains
方法:
Controller.Project.Where(p => id_funds.Contains(p.id));
不要认为它适用于您的问题,因为id_funds
链接到数据库表但是......
请注意,如果id_funds是一个对象(即一个简单的数组或列表等),而不是数据库中的某些东西而你没有使用Linq-To-Objects,你可能会遇到这方面的问题,因为我不认为Linq-To- v 4.0之前的实体支持它(请参阅here获取解决方法),如果id_funds
是一个非常大的列表(超过大约2000个项目),则Linq-To-SQL会出现问题。