Параметризованные конструкторы POCO с Entity Framework - PullRequest
6 голосов
/ 18 января 2011

Согласно Первоначальный проект POCO 1-пейджер

Постоянное невежество относится к возможности позволить разработчику писать и тестировать доменные объекты способом, полностью независимым отфундаментальные требования и предположения, которые могут быть сделаны сервисом инфраструктуры (в данном случае Entity Framework).Такие требования / предположения часто могут включать:

  • Необходимость реализации определенного интерфейса (например, IPOCO)
  • Наследование от базового класса
  • Предоставление конкретных конструкторов
  • Требования к объекту / построению объекта - используйте конкретную фабрику, например **
  • Необходимость метаданных или класса сопоставления или атрибутов свойства
  • Необходимостьиспользовать определенные механизмы взаимоотношений

Это означает возможность использовать простые старые объекты CLR (POCO), чтобы разработчик мог создавать свои доменные объекты безо всяких допущений и требований, налагаемых платформой.Используя этот подход, как только доменные объекты будут готовы к их удовлетворению, разработчик может использовать эти классы с Entity Framework для доступа и сохранения реляционной базы данных.

На данный момент (CTP5),Есть ли способ восстановить POCO с помощью параметризованного конструктора?Если нет, трудно понять, как можно сказать, что Entity Framework предлагает постоянное невежество.

1 Ответ

8 голосов
/ 18 января 2011

Вы можете иметь столько параметризованных конструкторов, сколько захотите, при условии, что инфраструктура имеет доступ к безпараметрическому конструктору, который доступен по умолчанию, если у вас нет конструкторов или если вы предоставляете один в дополнение к параметризованнымте, которые вы создаете.

...