Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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
C# LINQ to实体-查询中的Where IN子句_C#_Sql_Entity Framework - Fatal编程技术网

C# LINQ to实体-查询中的Where IN子句

C# LINQ to实体-查询中的Where IN子句,c#,sql,entity-framework,C#,Sql,Entity Framework,可能的重复项: 如何在语句中添加WHERE,如 SELECT * FROM myTable WHERE ID IN (1,2,3,4,5) 在实体框架中使用包含: int[] ids = { 1, 2, 3, 4, 5}; var query = db.myTable.Where(item => ids.Contains(item.ID)); 或在查询语法中: int[] ids = { 1, 2, 3, 4, 5}; var query = from item in db.m

可能的重复项:

如何在语句中添加WHERE,如

SELECT * FROM myTable WHERE ID IN (1,2,3,4,5)

在实体框架中

使用
包含

int[] ids = { 1, 2, 3, 4, 5};

var query = db.myTable.Where(item => ids.Contains(item.ID));
或在查询语法中:

int[] ids = { 1, 2, 3, 4, 5};

var query = from item in db.myTable
            where ids.Contains(item.ID)
            select item;

我想答案就在这条线上

Array a = {1,2,3,4,5}

...WHERE a.Contains(ID)

当然,Jon Skeet给出了最好的答案。他是第一个!我想知道他是怎么做到的,真的。:-)@乔恩·斯基特,谢谢。但我有个问题。我相信你能解决这个问题。也就是说,当ids从另一个表模式中提取并且包含数百万数据时,我无法加快速度。相比之下,它的速度要慢一些。这是我的想法还是编译器通过管理内部索引/其他复杂算法来提供最佳优化运行时间?请回答,我现在就需要它。@MuhammadAshikuzzaman:在这种情况下,您应该使用联接来代替。另一件事是,如果ids是另一个模型列表,那么我就不能使用.Contains函数。在lambda表达式中检查.Contains的方法是什么?谢谢:)@MuhammadAshikuzzaman:现在你真的应该问另一个问题,以及所有相关的细节。(同样,听起来你应该使用join…)谢谢。这里我有一个问题。请看。