我想做一些简单的事情,但我无法理解。使用EF6,我有2个表,它们由一个中间关联表关联,给出了多对多关系:
我想查询属于某个系列列表的所有用户。所以我得到了一系列的家庭:
var db = new MyProjectEntities();
User user = GetUserById((int)HttpContext.Current.Session["CurrentUserId"]);
var families = db.Users.Where(u => u.UserId == user.UserId).First().Families.ToArray();
然后我想查询属于这些家庭的所有用户:
var users = db.Users.Where(u => families.Contains(u.Families));
但是我收到了这个错误:
实例参数:无法从'Database.Family []'转换为'System.Linq.IQueryable>'
提前致谢。
答案 0 :(得分:1)
您可以使用任何方法:
var users = db.Users.Where(u => u.Families.Any(fam => families.Contains(fam)));
我认为这就是你要找的东西。