Некоторое время назад я работал над довольно крупным проектом, где мы смоделировали классы в Enterprise Architect и сгенерировали (частичные) классы POCO (в комплекте с проверками бизнес-правил на основе моделей), постоянство (отображение NHibernate файл) и DDL. На основании определенных атрибутов модели мы можем пометить альтернативные стратегии генерации или указать, что конкретная часть будет полностью закодирована вручную.
Первоначальных инвестиций было много, но они принесли большие дивиденды в течение срока жизни 15-летнего девелоперского проекта.
Я занимаюсь расследованием того же, что и нынешний стек технологий Microsoft. Я застрял в том, что моделирование классов выполняется с помощью инструментов UML VS 2010, а логическое моделирование данных - с помощью Entity Data Modeler.
Разумно ли использовать VS 2010 UML в качестве «единого источника правды», а код генерирует файлы edmx на основе модели классов? Это обратный путь общего создания модели сущностей и использования генератора POCO для генерации классов. Однако хорошая модель класса может использоваться для генерации гораздо большего, чем просто свойства, поэтому я склонен рассматривать ее как лучший выбор, чем модель сущностей.