C# 显示表中的菜单权限列表-在实体框架中将RoleId和UserId替换为RoleName和UserName
我有一个根据用户名或角色填充的菜单。我想生成一个SQL条目列表。标准foreach,使用我生成的ViewModel。我认为这可以简化,也许可以将一些项目添加到“ViewModel”中以实现这一点,但我没有得到正确的答案 下面是视图模型,db.menupertmissions有ForeinKeys: 角色Id-AspNetRoles(Id) UserId-AspnetUsers(Id) 这是控制器(不完整),我觉得这可能会更干净,它显然不工作的方式,它是。 我曾尝试为角色和用户添加标识,但似乎没有帮助。我还希望它只返回一个列表,而不是一个带有值的静态页面列表,我将使用dataTables来处理这个问题C# 显示表中的菜单权限列表-在实体框架中将RoleId和UserId替换为RoleName和UserName,c#,asp.net,asp.net-mvc,entity-framework,asp.net-identity,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Identity,我有一个根据用户名或角色填充的菜单。我想生成一个SQL条目列表。标准foreach,使用我生成的ViewModel。我认为这可以简化,也许可以将一些项目添加到“ViewModel”中以实现这一点,但我没有得到正确的答案 下面是视图模型,db.menupertmissions有ForeinKeys: 角色Id-AspNetRoles(Id) UserId-AspnetUsers(Id) 这是控制器(不完整),我觉得这可能会更干净,它显然不工作的方式,它是。 我曾尝试为角色和用户添加标识,但似乎没有
public ActionResult Index()
{
List<MenuPermissionView> col_Mem = new List<MenuPermissionView>();
var role = RoleManager.Roles
.ToList();
var user = UserManager.Users
.ToList();
var result =
foreach (var item in result)
{
MenuPermissionView objRoles = new MenuPermissionView();
objRoles.Menu_MenuId = item.Menu_menuId;
objRoles.RoleId = item.Name;
objRoles.UserId = item.Users;
objRoles.IsForNavBar = item.IsForNavbar;
objRoles.IsAdd = item.IsAdd;
objRoles.IsCreate = item.IsCreate;
objRoles.IsDelete = item.IsDelete;
objRoles.IsRead = item.IsRead;
objRoles.IsUpdate = item.IsUpdate;
col_Mem.Add(objRoles);
}
return View(col_Mem.ToPagedList(5, 25));
//return View(db.MenuPermissions.ToList());
}
public ActionResult Index()
{
List col_Mem=新列表();
var role=rolemager.Roles
.ToList();
var user=UserManager.Users
.ToList();
var结果=
foreach(结果中的var项目)
{
MenuPermissionView objRoles=新建MenuPermissionView();
objRoles.Menu_MenuId=item.Menu_MenuId;
objRoles.RoleId=item.Name;
objRoles.UserId=item.Users;
objRoles.IsForNavBar=item.IsForNavBar;
objRoles.IsAdd=item.IsAdd;
objRoles.IsCreate=item.IsCreate;
objRoles.IsDelete=item.IsDelete;
objRoles.IsRead=item.IsRead;
objRoles.IsUpdate=item.IsUpdate;
col_Mem.Add(objRoles);
}
返回视图(col_Mem.ToPagedList(5,25));
//返回视图(db.menupertions.ToList());
}
如果只使用我有模型的表,我就可以实现这一点,但是这些表没有模型,因为它们是实体框架的一部分
谢谢你的帮助 我认为问题在于,您正在讨论您刚刚创建的项目
您可以从数据库和foreach中获得结果的reult我将从另一个方向进行此操作,并使用SQL视图显示我想要的内容。它似乎更容易实现。还将所有内容都更改为存储过程。如果有的话,我不会经常使用linq。
public ActionResult Index()
{
List<MenuPermissionView> col_Mem = new List<MenuPermissionView>();
var role = RoleManager.Roles
.ToList();
var user = UserManager.Users
.ToList();
var result =
foreach (var item in result)
{
MenuPermissionView objRoles = new MenuPermissionView();
objRoles.Menu_MenuId = item.Menu_menuId;
objRoles.RoleId = item.Name;
objRoles.UserId = item.Users;
objRoles.IsForNavBar = item.IsForNavbar;
objRoles.IsAdd = item.IsAdd;
objRoles.IsCreate = item.IsCreate;
objRoles.IsDelete = item.IsDelete;
objRoles.IsRead = item.IsRead;
objRoles.IsUpdate = item.IsUpdate;
col_Mem.Add(objRoles);
}
return View(col_Mem.ToPagedList(5, 25));
//return View(db.MenuPermissions.ToList());
}