Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示表中的菜单权限列表-在实体框架中将RoleId和UserId替换为RoleName和UserName_C#_Asp.net_Asp.net Mvc_Entity Framework_Asp.net Identity - Fatal编程技术网

C# 显示表中的菜单权限列表-在实体框架中将RoleId和UserId替换为RoleName和UserName

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) 这是控制器(不完整),我觉得这可能会更干净,它显然不工作的方式,它是。 我曾尝试为角色和用户添加标识,但似乎没有

我有一个根据用户名或角色填充的菜单。我想生成一个SQL条目列表。标准foreach,使用我生成的ViewModel。我认为这可以简化,也许可以将一些项目添加到“ViewModel”中以实现这一点,但我没有得到正确的答案

下面是视图模型,db.menupertmissions有ForeinKeys: 角色Id-AspNetRoles(Id) UserId-AspnetUsers(Id)

这是控制器(不完整),我觉得这可能会更干净,它显然不工作的方式,它是。 我曾尝试为角色和用户添加标识,但似乎没有帮助。我还希望它只返回一个列表,而不是一个带有值的静态页面列表,我将使用dataTables来处理这个问题

        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());
    }