如何使用Linq在对象和实体之间进行连接?

时间:2011-11-05 16:20:04

标签: linq entity-framework

我在内存中有一组ID,我想只从匹配这些ID的数据库中获取行。

在SQL中,我可以编写类似SELECT * FROM mytable WHERE id IN (1,3,5,10)的查询,也可以在表之间进行连接。

我的问题是EF无法构建一个查询,我将我的EF数据加入我的本地数组或列表。

(我正在使用EF4.1,但我猜测问题/解决方案在旧版本以及Linq-to-SQL中会类似。)

1 个答案:

答案 0 :(得分:4)

您可以将Contains()与您的ID集myIDs一起使用来生成等效的WHERE id IN ..查询:

var results = context.mytable.Where(x => myIds.Contains(x.Id));