Что касается сохранения DomainModel с использованием EntityFramework. Я хотел бы подтвердить следующий подход с экспертами в этой области:Разработка домена с использованием структуры сущностей Первая модель
Рычаги
OnModelCreating
на карту или игнорировать навигационные свойства , которые не нужны. К сожалению, все это относится к Code-First.VS
Treat Модель Первый ПОКО, как DTO & с использованием слоя антикоррупционную
У нас есть огромные инвестиции в базе данных разработана с использованием модели первых, в для того, чтобы использовать DDD, который оставляет только один путь для нас - оставить POCO классы, созданные только дизайнером & Доменные классы отдельно. Когда когда-либо понадобилось, нужно вручную сопоставить или использовать AutoMapper. Я прав?
Во-вторых, что было бы лучшим местом для этого картографирования, слоя с антикоррупцией?
EDIT: Мы> 250 таблиц в схеме, проходя через код-первых, я чувствую, как потерять способность осознания того, что дизайнер провайдеров, а также моделировать первый у меня есть полное право раз .SQL генерируется. Однако вначале я должен жить во власти миграции кода, чтобы генерировать/обновлять таблицы для меня.
Несмотря на то, что вы можете иметь классы POCO и домена, разделенные с использованием Automapper для _link_, оба обычно не используют POCO. У меня мой домен чистый, без каких-либо ссылок на EF, поэтому в моем домене нет OnModelCreating и DataAnnotations. EF внутри Infra/Data layer, ссылаясь на мой домен и используя мои классы домена для генерации базы данных. В моем прикладном уровне у меня есть более простые модели, которые доступны для приложения, представляющие классы домена, которые сопоставляются с Automapper. Пожалуйста, прочитайте это [сообщение] (http://stackoverflow.com/questions/909264/ddd-anti-corruption-layer-how-to), я нашел его очень интересным. – Alisson
Существует подход «объект состояния поддержки», хотя я не большой поклонник этого и не рекомендую его для нового приложения: https://vaughnvernon.co/?p=879 – guillaume31