Pit*_*all 1 c# linq list linq-to-sql
所以我从人员表中选择,我需要选择该人所在群组的群组ID.我该怎么做.
到目前为止,我有:
var p = (from p in Context.Person
join g in Context.Group
on p.PersonId equals g.PersonId
select new
{
Name = p.Name,
Age = p.Age,
groupIds = ?????
}
Run Code Online (Sandbox Code Playgroud)
所以在分组表这将是一个主键GroupId,并PersonId因此我需要选择所有的组ID.如何才能做到这一点?
你想要一个GroupJoin而不是一个Join.不同之处在于,它不是将所有相关项目展平为成对列表,而是将所有已连接项目分组为一个序列:
var query = from p in Context.Person
join g in Context.Group
on p.PersonId equals g.PersonId into groups
select new
{
Name = p.Name,
Age = p.Age,
groupIds = groups.Select(g => g.GroupId),
};
Run Code Online (Sandbox Code Playgroud)
使用查询语法,将into关键字与a结合使用join将导致a GroupJoin而不是a Join.
| 归档时间: |
|
| 查看次数: |
2401 次 |
| 最近记录: |