entity framework列表包含在lambda中

我想使用特定ID查询项目。 例如:

var ids = new List { 1, 3, 5 }; var items = context.Items.Where(item => ids.Contains(item.ID)).ToList(); 

问题:

  1. 这会使用SQL IN运算符生成单个查询吗?
  2. 这个代码在性能方面是否可以?
  3. 有没有更好的方法呢?

我正在使用Entity Framework 6和Microsoft SQL Server。

  1. 这会使用SQL IN运算符生成单个查询吗?
  2. 这个代码在性能方面是否可以?
    是(适用于小清单)
  3. 有没有更好的方法呢?
    否(对于小清单)

如果列表非常大并且表格相当小,则可能会获得更好的性能,将完整的表格带入内存并在内存中与列表进行连接。