我在内存中有一组 ID,我只想从与这些 ID 匹配的数据库中获取行。
在 SQL 中,我可以编写像 SELECT * FROM mytable WHERE id IN (1,3,5,10)
这样的查询,也可以在表之间进行连接。
我的问题是 EF 无法在我将 EF 数据与本地数组或列表连接的情况下构建查询。
(我使用的是 EF4.1,但我猜测问题/解决方案在旧版本以及 Linq-to-SQL 中会类似。)
最佳答案
您可以使用 Contains()
和您的 ID 集合 myIDs
来生成等效的 WHERE id IN ..
查询:
var results = context.mytable.Where(x => myIds.Contains(x.Id));
关于linq - 如何使用 Linq 在对象和实体之间进行连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8021463/