LINQ Where 查询对象列表
LINQ Where query with object list
我有一个带有 属性 ID 的对象列表 ListA,我必须在具有列 ID 的 table 中进行查询,并找到 ID 相同的行。我如何才能通过单个查询而不是 listA 的 foreach 循环实现这一目标?
感谢您的宝贵时间
foreach(var object in listA)
{
context.Table.Where(x => x.id == object.Id)....
}
您似乎想要 return table 中具有相同 ID 的对象列表中包含的 ID 的所有行。以下将实现这一点。我可以修改我的答案以满足您的需要。如果您正在寻找稍微不同的东西,请告诉我。
void Main()
{
var listA = new List<A> { new A { Id = 1 }, new A { Id = 4 } };
var results = context.Table
.Where(t => listA.Select(l => l.Id).Contains(t.Id))
}
public class A
{
public int Id { get; set; }
}
我有一个带有 属性 ID 的对象列表 ListA,我必须在具有列 ID 的 table 中进行查询,并找到 ID 相同的行。我如何才能通过单个查询而不是 listA 的 foreach 循环实现这一目标?
感谢您的宝贵时间
foreach(var object in listA)
{
context.Table.Where(x => x.id == object.Id)....
}
您似乎想要 return table 中具有相同 ID 的对象列表中包含的 ID 的所有行。以下将实现这一点。我可以修改我的答案以满足您的需要。如果您正在寻找稍微不同的东西,请告诉我。
void Main()
{
var listA = new List<A> { new A { Id = 1 }, new A { Id = 4 } };
var results = context.Table
.Where(t => listA.Select(l => l.Id).Contains(t.Id))
}
public class A
{
public int Id { get; set; }
}