Настройка связи с помощью Entity Framework

131
07 сентября 2019, 23:40

Есть основная таблица с записями, в проекте описана как следующий класс

public class Record 
{
   public int RecId { get; set; } //Идентификатор, primary key
   public string Name { get; set; }
}

Так же есть вторая таблица, которая отображает связь "ребенок-родитель"

public class Relationship
{
    public int ChildId { get; set; } //Primary key
    public int ParentId { get; set; } //Foreign key
}

Нужно настроить связи в Entity Framework - у одного "ребенка" может быть только один "родитель", у "родителя" может быть несколько "детей". "Ребенок" также может быть родителем. Также возможна ситуация, когда у записи нет ни "родителя", ни "детей".

Answer 1

Убрал сущность Relationship, также изменил основную сущность Record следующим образом:

public class Record 
{
   public int RecId { get; set; } //Идентификатор, primary key
   public string Name { get; set; }
   public int? ParentId { get; set; } //foreign key
   public Record Parent { get; set; }
   public IEnumerable<Record> Childrens { get; set; }
}

Также использовал fluent-api и при конфигурации написал следующие связи:

HasMany(m => m.Childrens).WithOptional(o => o.Parent).HasForeignKey(k => k.ParentId);
READ ALSO
Конвертирование String в StringBuilder и обратно

Конвертирование String в StringBuilder и обратно

Есть некий метод, который получает в качестве параметра довольно большую стринговину (порядка 50000 символов и более)Метод разбивает полученную...

115
ListBox команда при выделении ListBoxItem

ListBox команда при выделении ListBoxItem

Кто-нибудь может подсказать, как можно при нажатии ListBoxItem выполнить команду открытия нового окна(MVVM) ListBox заполняется через ItemSource

104
Импорт персонажа с анимацией в Unity

Импорт персонажа с анимацией в Unity

Импортировал модельку с анимацией прыжка и бега с сайта Mixamo, там в готовой анимации не только анимация, но и изменение позиции, как это убрать,...

136
Пагинация страниц для парсера simple html dom

Пагинация страниц для парсера simple html dom

Нужно при парсинге страницы с помощью simple html dom, сделать пагинациюТо есть парсер в странице каталога собирает ссылки на товары, но собирает...

139