如何查询实体框架对象,其中select是列表

时间:2014-11-12 13:49:58

标签: linq entity-framework-6

我想做一些简单的事情,但我无法理解。使用EF6,我有2个表,它们由一个中间关联表关联,给出了多对多关系:

2 associated tables Users and Families

我想查询属于某个系列列表的所有用户。所以我得到了一系列的家庭:

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>'

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用任何方法:

var users = db.Users.Where(u => u.Families.Any(fam => families.Contains(fam)));

我认为这就是你要找的东西。