获取包含其他列表LINQ元素的列表元素

时间:2016-04-04 05:24:52

标签: c# entity-framework linq c#-4.0

我必须使用实体框架LINQ查询从数据库创建列表

class Users {
string id { get; set; }
} 

class Permission
{
string permission id { get; set;}
User theUser { get; set; }
}

var allUsers = db.Users.ToList();
// This returns a list of ids ["1","2","3"]

var usersWithPermission = db.Permission.Where(x => x.User.Id.Contains(users));

我想检索具有权限的用户,我试图从权限表中获取所有记录,然后检索其中包含ID为" AllUsers"的ID的任何记录。列表。

谢谢,任何帮助都会很感激

2 个答案:

答案 0 :(得分:3)

您可以使用Any()来完成此操作:

var usersWithPermission = db.Permission
                            .Where(x => allUsers.Any(u => x.User.Id == u.Id))
                            .ToList();

答案 1 :(得分:2)

你可以试试这个

var usersWithPermission = db.Permission.Where(x => allUsers.Contains(x.User.Id));