【发布时间】:2021-08-18 12:01:02
【问题描述】:
现在,我可以运行如下所示的 LINQ 查询:
private Person PopulatePerson(Person person)
{
return (from er in context.Orders
where er.personId == person.Id
select new Person()
{
Name = person.Name
Qty = er.OrderQty,
}).FirstOrDefault();
}
如果我将人员列表传递给上面的这个方法,就像下面一样?如何更改我的查询以对其进行迭代?
private List<Person> PopulatePerson(List<Person> persons)
{
}
我可以foreachList<Person>,但它会多次连接到数据库。假设要取第一个结果。实际上这只是一个例子。实际上有许多重复的子记录,因此我只需要获取我设法获得的第一条记录。但是,如果我想将一个列表传递给查询以在 LINQ 内部进行迭代而不是在外部编写一个 foreach。
【问题讨论】:
-
当一个人下了多个订单时,您希望退回什么?
-
假设我想获得第一个结果。实际上这只是一个例子。实际上有许多重复的子记录,因此我只需要获取我设法获得的第一条记录。但是,如果我想将一个列表传递给查询以在 LINQ 内部进行迭代而不是在外部编写一个 foreach。
标签: c# linq entity-framework-core