如何使用Linq从Entity中选择多行

时间:2013-03-11 19:04:13

标签: linq entity-framework linq-to-sql linq-to-entities

我想写一个等同于

的LINQ查询
select * from Users 
where Username in ('something@somewhere.com', 'someone@somehting.com')

是否可以在LINQ中写这个?

2 个答案:

答案 0 :(得分:3)

为了复制IN子句的功能,您必须拥有(或创建)一个集合,并检查该集合是否包含您正在寻找的值。

var search = new string[] {"something@somewhere.com", "someone@somehting.com"};

var results = Users.Where(u => search.Contains(u.Username));

答案 1 :(得分:0)

或者,您可以使用非常懒惰的解决方案

 DbEntities db = new DbEntities();
 var users = db.Users.where(u => u.Username == "something@somewhere.com" || u.Username == "someone@somehting.com");

非常懒惰(初学者LINQ开发人员很容易进行替补)。