Malikdanish Ответов: 1

Как показать имя вместо идентификатора из другой таблицы в представлении индекса MVC


У меня есть две таблицы пользователей и ролей, теперь при сохранении UserWithRole я спасаю параметр userId,roleId и дата, теперь на индексный просмотр, я хочу показать роль имени, а не по роли, а в UserwithRole стол я спасаю роль , но роль зовут в другой роли таблиц, так как я могу показать роль имени, по индексу, а не роль идентификатора .

Что я уже пробовал:

Я понятия не имею, как добиться этого хорошим способом

F-ES Sitecore

Вы делаете это, соединяя два стола. Как вы это сделаете, зависит от того, какую технологию доступа к базе данных вы используете (aso.net, entity framework, nHibernate и т. д.), Поэтому, не зная этого, мы не можем дать конкретный совет.

Malikdanish

Я использую entity framework . private DatabaseContext db = новый DatabaseContext();

// GET: UserRoles
индекс общественного ActionResult ()
{

смотреть возвращение(дБ.UserRoles.Список());
}

1 Ответов

Рейтинг:
1

Richard Deeming

Убедитесь, что у вас есть свойство навигации[^] настройка на вашем UserRole сущность. Тогда вам просто нужно Include роль и используйте свойство навигации для отображения имени.

Сущность:

public class UserRole
{
    public int UserId { get; set; }
    public User User { get; set; }
    
    public int RoleId { get; set; }
    public Role Role { get; set; }
}
Контроллер:
public ActionResult Index()
{
    return View(db.UserRoles.Include(ur => ur.User).Include(ur => ur.Role).ToList());
}
Смотреть:
@foreach (UserRole item in Model)
{
    <p>User @item.User.Name is in role @item.Role.Name</p>
}