Asp.net mvc 3 LINQ到实体投影
更新:我基本上希望获得一个给定角色的所有权限列表和所有权限列表。然后,我想将SelectListItems列表中的每个权限标记为选中,因为它们已经属于该角色 我有三张桌子: 项目1-*角色-权限 我正在尝试使用具有列表中所有权限的投影创建和IEnumerable,但当我投影到SelectItemList时,它会标识已与特定角色关联的权限: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) {
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的角色。我一拿到一张单人票或默认票,它就起了很大的作用。谢谢