JOIN时在LINQ to Entities中分组

时间:2013-01-03 07:08:39

标签: linq-to-entities

以下是我的表格的结构。

城市:CityId,姓名

人:PersonId,CityId,Name,DateOfBirth

我在我的.NET应用程序中使用Linq to Entities。我想将所需查询的结果填充到对象PersonInfo(将包含City和Person对象)中。 查询应该只返回每个城市的一个条目,具有最低的DateOfBirth。

我怎样才能做到这一点?任何样本都会更有帮助。我能够使用连接来编写L2E查询,该连接填充结果集中的所有城市和人员。

1 个答案:

答案 0 :(得分:1)

假设两个表都在名为" cities"的变量中。和"人":

from city in cities

join person in people
on city.CityId equals person.CityId

group person

by city

into group1

select new PersonInfo
{
    City = group1.Key,
    Person = group1.OrderBy(person => person.DateOfBirth).First()
}