Мне все еще нужен явный средний объект для 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