从数组中选择实体

时间:2011-12-07 16:07:06

标签: c# linq-to-sql

我有一组ID,以及一组带ID的实体。

我想要做的是构建一个查询,查找与第一个集合中的ID相对应的记录。

因此,例如,ID集合包含“2”和“3”,实体集合包含ID为1到10的实体。我想获得ID为'2'和'3'的记录。

这可以通过一个查询完成吗?如果是这样,怎么样?

感谢。

2 个答案:

答案 0 :(得分:5)

使用Contains()

选项1

List<int> myFilter = new List<int>() { 2, 3 };
var myResults = from foo in myEntities
                where myFilter.Contains(foo.ID)
                select foo;

选项2

List<int> myFilter = new List<int>() { 2, 3 };
var myResults = myEntities.Where(x => myFilter.Contains(x.ID));

答案 1 :(得分:2)

var idCollection = new[] {'2', '3'};
var result = entitiescollection.Where(e => idCollection.Contains(e.Id));