foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф

Как создать модель, контроллер и представления на таблицу в которой все поля — ключи?

Приветствую.

в БД есть автоматически создаваемая таблица «webpages_UsersInRoles», где хранятся пары записей — идентификатор пользователя и идентификатор роли.
CREATE TABLE [dbo].[webpages_UsersInRoles] (
    [UserId] INT NOT NULL,
    [RoleId] INT NOT NULL,
    PRIMARY KEY CLUSTERED ([UserId] ASC, [RoleId] ASC),
    CONSTRAINT [fk_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[UserProfile] ([UserId]),
    CONSTRAINT [fk_RoleId] FOREIGN KEY ([RoleId]) REFERENCES [dbo].[webpages_Roles] ([RoleId])
);



Как правильно создать модель для таблицы, чтобы корректно создался контроллер и представления — описать в модели что primary key тут составной — иначе студия ругается на отсутствие ключа и контроллер с представлениями не создается.
  • Вопрос задан
  • 3732 просмотра
Пригласить эксперта
Ответы на вопрос 2
Yoh_Asakura
@Yoh_Asakura
Программист
Вы хотите что бы в представлении у вас были не айдишки, а например наименование пользователя и роли? Если да, то просто по айдишке передаёте соответствующие поля.
Ответ написан
@justthefish
Как вам такой вариант:
1. Создаете новую сущность, со своим уникальным ID — pages2userRoles
2. Добавляете туда Foreign key для тех вещей, который вы хотите залинковать — соответственно userProfile и webPage
3. Создаете по табличке этой сущности композитный индекс (для быстрого поиска)
4. Все обращения в коде проводите через эту новую сущность.

т.е. идея в том, чтобы у сущности был PRIMARY KEY отдельной колонкой (разные ORM без такой колонки часто ломаются).
Композитный индекс для поиска можно создать и самому, руками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы