我想返回一个带有以下签名的对象
class AnonClass{
string Name {get;}
IEnumerable<Group> Groups {get;}
}
我尝试了以下查询,但g只返回单个实体,而不是所有已连接的实体
var q = from t in dc.Themes
join g in dc.Groups on t.K equals g.ThemeK
select new {t.Name, Groups = g};
return q.ToArray();
但是会返回
class AnonClass{
string Name {get;}
Group Groups{get;}
}
使用正确的linq查询是什么?
答案 0 :(得分:1)
我认为你想要“加入”而不只是“加入”:
var q = from t in dc.Themes
join g in dc.Groups on t.K equals g.ThemeK into groups
select new { t.Name, Groups=groups };
(这是完全未经测试的,但值得一试,但请仔细核实!)
答案 1 :(得分:1)
如果您正确设置了外键,那么它应该是:
var q = from t in dc.Themes
select new {t.Name, Groups = t.Groups};