Entity Framework Core: как создать автоматически связывающуюся таблицу?C#

Место общения программистов C#
Ответить
Anonymous
 Entity Framework Core: как создать автоматически связывающуюся таблицу?

Сообщение Anonymous »

Может быть, это глупый вопрос. В моем проекте на .NET8 C# с Entity Framework Core у меня есть несколько таблиц, в которых хранятся элементы для отображения в раскрывающемся списке, и я использую их в разных частях приложения.
Например, у меня есть таблицы tbl_BrainExplanations или tbl_SmokeTypes, содержащие список, который я хочу отобразить. В других таблицах может быть более одного элемента: например, я могу иметь три разных типа дыма, связанных с одной записью в SessionInitialDetails. Вот диаграмма.
Изображение
Простое определение tbl_SmokeTypes:

Код: Выделить всё

[Table("tbl_SmokeTypes")]
public class SmokeType
{
public long ID { get; set; }
public string? Name { get; set; }
}
Когда я хочу связать таблицу с SessionInitialDetails в коде, который я пишу

Код: Выделить всё

public virtual ICollection? SmokeTypes { get; set; }
или

Код: Выделить всё

public virtual List? SmokeTypes { get; set; }
Итак, Entity Framework Core создает таблицу для tbl_SmokeTypes, которая также содержит поле с именем SessionInitialDetailID, но это не то, что я хотел. По этой причине я создал сам объект под названием tbl_BrainExplanations и новый объект, чтобы связать более одной записи из этой таблицы с другой таблицей под названием SessionDetails (нет на диаграмме). ).
Я ожидал, что Entity Framework Core, когда я определяю ICollection или IList, сам по себе создаст объединяющую таблицу. Но очевидно, что это не так. Итак, нужно ли мне самому создавать объединяющие таблицы или Entity Framework COre может это сделать?

Подробнее здесь: https://stackoverflow.com/questions/793 ... king-table
Ответить

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

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

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

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

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