Мне все еще нужен явный средний объект для N-to-N в EF под.NET Core 3?

Я читал несколько статей, подобных этой, где подразумевается необходимость явной сущности AB между A и B.

Когда я гуглю это, я не могу найти никакой официальной информации, подтверждающей или противоречащей этому заявлению. С другой стороны, документация для предварительных версий может быть не полностью покрыта.

Возможно ли это в.NET Core 3 или мы все еще вынуждены вручную создавать объекты N-to-N?

2 ответа

Решение

Функция, которую вы (и не только) запрашивает, отслеживается #10508: Реализация отношений "многие ко многим" без отображения таблицы соединений.

Как видите, статус Backlog, что означает, что это считается, но нет конкретного графика. Также последний комментарий команды EF Core (менеджера):

Текущий план для 3.0 состоит в том, чтобы реализовать свойства навигации на уровне пропуска в качестве растянутой цели. Если пакеты свойств ( # 9914) также войдут в 3.0, упрощение работы для многих для многих может стать проще.

Также это не перечислено в Новых особенностях. И только что упоминается в свойствах объекта мешок

Эта функция является ступенькой для поддержки отношений "многие ко многим" без объекта объединения (выпуск № 1368), что является одним из наиболее востребованных улучшений для EF Core.

где #1368 относится к обсуждению отношений "многие ко многим" (без класса CLR для таблицы соединений).


Все это просто означает, что ответ на ваш вопрос - нет, эта функция не будет в 3.0, поэтому вы должны продолжать использовать явную сущность соединения.

Да, вам нужно реализовать среднюю сущность! Вы можете проверить это с помощью команды:

dotnet ef dbcontext scaffold "Источник данных =DATABASE_IP; Начальный каталог =NAMEDATABASE; Интегрированная безопасность =True" Microsoft.EntityFrameworkCore.SqlServer -o Модели -f -c DemoDbContext

Другие вопросы по тегам