from g in db.Group join u in db.User on g.code equals u.code into temp from result in temp.DefaultIfEmpty() select new Group { GroupName = g.groupName, GroupLeader = result.name + "|" + result.code, LeaderCode = result.code, GroupId = g.groupId, MemberCount=? };
group是小组,user是用户表。group表里有code表示组长编号。user表里有groupid外键表示用户小组。
我想提取小组信息,现在还有一个MemberCount字段表示小组人数,请问该如何获取?
用下面的代码试试,不用那么复杂
var groups = from g in db.Group select new { g, g.User.Count, g.User2 }; foreach (var item in groups) { var group = item.g; group.MemberCount = item.Count; }
其中Group和User有两个关联,一个是通过groupid(上面的g.User),另一个是code(上面的g.User2)
额..不好意思,我说错了。当初linq更新带外键表老是报错,所以把关联取消了,所以没有导航属性。请问该怎么写?
你的代码给了我提示,已经解决了,谢谢。