Asp.net mvc 3 LINQ到实体投影

Asp.net mvc 3 LINQ到实体投影,asp.net-mvc-3,linq-to-entities,Asp.net Mvc 3,Linq To Entities,更新:我基本上希望获得一个给定角色的所有权限列表和所有权限列表。然后,我想将SelectListItems列表中的每个权限标记为选中,因为它们已经属于该角色 我有三张桌子: 项目1-*角色-权限 我正在尝试使用具有列表中所有权限的投影创建和IEnumerable,但当我投影到SelectItemList时,它会标识已与特定角色关联的权限: public IEnumerable GetAllPermissionsPLusRole(int projectid, int roleid) {

更新:我基本上希望获得一个给定角色的所有权限列表和所有权限列表。然后,我想将SelectListItems列表中的每个权限标记为选中,因为它们已经属于该角色

我有三张桌子:

项目1-*角色-权限

我正在尝试使用具有列表中所有权限的投影创建和IEnumerable,但当我投影到SelectItemList时,它会标识已与特定角色关联的权限:

public IEnumerable GetAllPermissionsPLusRole(int projectid, int roleid)
    {
        using (var db = new Entities())
        {
            var permissions = (from p in db.Permissions
                               select p).ToList();

            var permissionsForRole = from r in db.Roles
                                     where r.RoleId == roleid && r.PrjectProjectId == contractid
                                     select r.Permissions.ToList();

            IEnumerable<SelectListItem> selectList = from p in permissions select new SelectListItem { Text = p.PermissionName, Value = p.PermissionId.ToString()};
            return selectList;
        }
    }
public IEnumerable GetAllPermissionsPlus角色(int-projectid,int-roleid)
{
使用(var db=new Entities())
{
var permissions=(从db.permissions中的p开始)
选择p.ToList();
var PermissionsErrorle=来自数据库角色中的r
其中r.RoleId==RoleId&&r.prjectprojectd==constructid
选择r.Permissions.ToList();
IEnumerable selectList=从权限中的p选择新的SelectListItem{Text=p.PermissionName,Value=p.PermissionId.ToString();
返回选择列表;
}
}
我想做的是在投影中选择一个条件,这样当我显示列表时,我可以显示已经与角色关联的权限


提前感谢。

如果我理解正确,您已经获取了所有数据,现在您只需检查所授予的权限是否在
权限错误列表中,即:

IEnumerable<SelectListItem> selectList = from p in permissions
    select new SelectListItem
    {
        Text = p.PermissionName, 
        Value = p.PermissionId.ToString(),
        Selected = permissionsForRole.Contains(p)
    };
IEnumerable selectList=权限中的p
选择新的SelectListItem
{
Text=p.PermissionName,
Value=p.PermissionId.ToString(),
选定=权限错误。包含(p)
};

很抱歉A不起作用。无法对权限错误使用包含。我已经花了一个小时在这上面了,但似乎没有把它弄对。什么是
权限类型
?什么类型的
权限错误
?基本上我被卡住了,因为权限错误是列表,权限是列表。。。。感谢您关注upA。你把我带到了我需要去的地方。。。最后是我的错,因为我重新获得了一个IQueryable的角色。我一拿到一张单人票或默认票,它就起了很大的作用。谢谢