日期:2014-05-20  浏览次数:21119 次

求一条多对多关系的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();