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