我有三张桌子:
cp_user (id, name)
cp_group (id, name)
cp_usergroup (user_id, group_id)
假设以下数据:
cp_user
1, Paul
2, Steven
cp_group
1, Admin
2, Editor
cp_usergroup
1, 1
1, 2
2, 2
所以Paul在Admin AND Editor组中,而Steven就在编辑组中。我想从数据库生成类似的列表:
Paul Admin
Paul Editor
Steven Editor
有什么建议吗?
谢谢! 克莱门
答案 0 :(得分:2)
我的一位朋友帮我解决了这个问题:
var q = db2.cp_users.SelectMany(
u => u.cp_groups.Select(
g => new { Username = u.name, Groupname = g.name }));
对我来说很好。在查询语法中有没有办法做到这一点?
答案 1 :(得分:1)
在查询语法中:
from u in db2.cp_users
from g in u.cp_groups
select new { Username = u.name, GroupName = g.name }