Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Linq从实体中选择多行_Linq_Entity Framework_Linq To Sql_Linq To Entities - Fatal编程技术网

如何使用Linq从实体中选择多行

如何使用Linq从实体中选择多行,linq,entity-framework,linq-to-sql,linq-to-entities,Linq,Entity Framework,Linq To Sql,Linq To Entities,我想写一个LINQ查询,相当于 从用户中选择* 其中用户名位于('something@somewhere.com', 'someone@somehting.com') 是否可以在LINQ中编写此代码?为了复制in子句的功能,您必须拥有(或创建)一个集合,并检查该集合是否包含您要查找的值 var search = new string[] {"something@somewhere.com", "someone@somehting.com"}; var results = Users.Wher

我想写一个LINQ查询,相当于

从用户中选择*
其中用户名位于('something@somewhere.com', 'someone@somehting.com')

是否可以在LINQ中编写此代码?

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

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

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

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

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

非常懒惰(很容易被LINQ开发新手替代)。

如果你不知道要搜索的用户名数量,这个解决方案很难。谢谢D Stanley。这对我有用。感谢您的快速输入。