EF Code-First и вложенные множества
Я хотел бы создать модель вложенного набора внутри моей базы данных. Однако у меня есть проблема, потому что я не знаю, как начать реализацию, используя Entity Framework Code-First.
Допустим, у меня есть такой класс:
public class Category
{
public long Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Category> SubCategories { get; set; }
// public int left { get; set; }
// public int right { get; set; }
}
В моей модели мне нужна коллекция подкатегорий, как сейчас. Однако я хотел бы реализовать автоматическое (неявное) обновление левого и правого свойств при добавлении / удалении подкатегорий в / из коллекции подкатегорий.
Является ли это возможным?
Спасибо за любой ответ заранее!
Лучший!
1 ответ
Вложенные множества и графы объектов - это две совершенно разные модели. Вы не должны хранить их обоих в одном типе; что нарушает ПСП.
Вместо этого положите Left
а также Right
в вашем POCO с первым кодом загрузите, а затем спроецируйте / скопируйте его на объекты другого типа (которые не являются объектами) с помощью схемы графа.