EF Code Первый проект отношений сущностейC#

Место общения программистов C#
Ответить
Гость
 EF Code Первый проект отношений сущностей

Сообщение Гость »


У меня есть 3 объекта: Пользователь, Лига и Команда. У меня есть следующие требования:

В комбинации «Пользователь-Лига» может быть только одна команда.

Комбинация «Лига-Команда» может иметь только 1 пользователя.

Комбинация «Пользователь-Команда» может иметь несколько лиг.

Таким образом, это будут допустимые комбинации:

Команда лиги пользователей 1 1 1 1 2 2 1 3 1 2 1 2 2 2 1 3 1 3 3 3 2 Как лучше всего добиться этого в EF Code First? Было бы лучше создать одну объединяющую таблицу с «Пользователи-лиги-команды» или несколько объединяющих таблиц, например «Пользователи-лиги», «Пользователи-команды», «Лиги-команды»? И как лучше всего обеспечить соблюдение вышеуказанных требований?

Заранее спасибо.

РЕДАКТИРОВАТЬ:

По предложению Роберто у меня теперь есть вот такая сущность:

публичный класс UserLeagueTeam { общественный ИНТ UserId {получить; набор; } публичный пользователь приложения? Пользователь {получить; набор; } общественный ИНТ LeagueId {получить; набор; } общественная лига? Лига {получить; набор; } общественный ИНТ TeamId {получить; набор; } общественная команда? Команда {получить; набор; } } А в конструкторе это выглядит так:

публичный класс UserLeagueTeamTypeConfiguration: IEntityTypeConfiguration { public void Configure (строитель EntityTypeBuilder) { builder.ToTable("КомандаЛиги пользователей"); builder.HasKey(u => new { u.UserId, u.LeagueId, u.TeamId }); builder.HasIndex(x => new { x.UserId, x.LeagueId }).IsUnique(); builder.HasIndex(x => new { x.LeagueId, x.TeamId }).IsUnique(); } } Было бы это правильно?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»