首页 > 解决方案 > 如何在 ASP.NET MVC 中使用实体框架显示三个表数据?

问题描述

我想使用 Entity Framework 显示三个表中的数据。

我有这三个表:

  1. 角色
  2. 团体
  3. group_roles

第一个表roles有两列roles_id int主键和 role_name

第二个表groups也有两列group_id主键和group_name

第三个表group_roles有三列:

group_roles_id primary key,
group_id foreign key groups (groups_id)
role_id foreign key roles (roles_id)

我创建了一个new_group_roles具有以下属性的自定义类:

public class NewGroupRoles
{
    public group_roles group_roles { get; set; }
    public int[] selectedroles { get; set; }      
    public IEnumerable<group> groups { get; set; }
    public IEnumerable<role> roles { get; set; }
}

我成功插入数据,但我想以以下方式显示数据

group_roles_id -- Group Name --- roles

我已经在模型中编写了一个函数,我从这个函数在控制器中调用它所有的数据都会来

这是代码

public group_roles GetAllGroups()
{
    try
    {
        using(var p = new VMSDBContext())
        {
            var group = (from group_role in p.group_roles
                         join grups in p.groups on group_role.group_id equals grups.group_id
                         join roles in p.roles on group_role.roles_id equals roles.role_id
                         select new NewGroupRoles()
                             {
                                group_roles =group_role.group_id

                             }).ToList();

            return p.group_roles.Include("group").Include("role").FirstOrDefault();
        }
    }
    catch(Exception ex)
    {
        return new group_roles();
    }
}

问题是我无法分配new_group_roles类的属性。

有人可以帮我怎么做吗?或者有没有更好的方法?请记住,我想将数据从模型文件夹返回到控制器,而不是直接从控制器

谢谢

标签: c#entity-framework

解决方案


推荐阅读