Я хочу показать данные из трех таблиц, используя Entity Framework.
У меня есть три таблицы:
- роли
- группы
- 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
.
Кто-нибудь может мне помочь, каксделай это?Или есть ли лучший подход?Имейте в виду, я хочу вернуть данные из папки модели на контроллер, а не напрямую с контроллера
Спасибо