Могу ли я использовать объекты Entity Framework вне области базы данных? - PullRequest
1 голос
/ 22 декабря 2011

Я проектирую базу данных для хранения продуктов и некоторых принадлежащих им свойств.Свойства могут быть унаследованы от родительского продукта до дочернего продукта.Например:

ProductA   ---> PropertyA, PropertyB
|-ProductB ---> PropertyC

В этом примере ProductB должен иметь PropertyA и PropertyB в дополнение к PropertyC.Чтобы получить все свойства определенного товара, мне нужно пройти через всех родителей и собрать все свойства в списке.Однако сам класс Property является сущностью базы данных, поэтому я могу использовать его для определения обычных объектов (т. Е. Отделенных от базы данных), не затрагивая их на содержимом базы данных, т.е. создавать, изменять, удалять экземпляры как обычные объекты C #?

1 Ответ

3 голосов
/ 22 декабря 2011

Да, вы можете. Entity Framework 4.0 и выше поддерживает так называемый объект POCO (Plain Old CLR Object). Они могут существовать совершенно отдельно от проблем вашей базы данных, и при необходимости вы можете прикрепить их к экземпляру Entity Framework Context для сохранения в базе данных.

Аналогичным образом вы можете отсоединить сущности от контекста, получив их из базы данных через тот же контекст, если вы решите манипулировать ими в вашей доменной модели таким образом, что вы не хотите, чтобы они снова сохранялись.

В зависимости от того, выполняете ли вы истинные действия, Code First или Database First определят рабочий процесс разработки, который вы используете для создания этих сущностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...