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

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

Сообщение Anonymous »

Может быть, это глупый вопрос. В моем проекте для .NET 8, написанном на C# и использующем Entity Framework Core, у меня есть несколько таблиц, в которых хранятся элементы для отображения в раскрывающемся списке, и я использую их в разных частях приложения.
Например, у меня есть таблицы tbl_BrainExplanations или tbl_SmokeTypes, содержащие список, который я хочу отобразить. В других таблицах может быть более одного элемента: например, я могу связать 3 разных типа дыма с одной записью в 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 (не показано на диаграмме).
Я ожидал, что когда я определю ICollection или IList, Entity Framework Core создаст объединяющую таблицу. Но очевидно, что это не так. Итак, нужно ли мне самому создавать объединяющие таблицы или Entity Framework Core может это сделать?

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

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

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

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

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

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