读书人

求一条多对多关系的linq话语查询

发布时间: 2011-12-22 23:36:25 作者: rapoo

求一条多对多关系的linq语句查询?
数据库结构图:


EF的结构图:


如果要查找某一部门的用户:(一个用户只对应一个部门)
List<User> results = db.User.Include("UserDepartment").Include("Group").Where(t => t.UserDepartment.UserDepartment_id == 1).ToList();

,但如果要查找某一组里的用户又怎样写呢?(一个用户可有多个组)
List<User> results = db.User.Include("UserDepartment").Include("Group").Where(t => t.Group.Group_id== 1).ToList();
这个t.Group是集合,所以是错误的.请问应该怎样写呢?

[解决办法]
List<User> results = db.Group.Include("User").Where(g=> g.Group_id==1).ToList();

t.User
[解决办法]
List<User> results = db.User.Where(user=> user.Group.Any(g=>g.Group_id==1))).ToList();

读书人网 >.NET

热点推荐