Автоматизация преобразования шаблонного DbContext EF Core в шаблон чистой архитектурыC#

Место общения программистов C#
Ответить
Anonymous
 Автоматизация преобразования шаблонного DbContext EF Core в шаблон чистой архитектуры

Сообщение Anonymous »

Когда я формирую базу данных с помощью Entity Framework Core, я получаю плоскую структуру моделей и DbContext. Преобразование этого в чистую архитектуру (отдельные уровни, CQRS, валидаторы, конфигурации) требует значительной ручной работы.
Я изучаю возможность автоматизации этого рабочего процесса с помощью PowerShell + DBTools + EF Core. Цель состоит в том, чтобы:
сформировать основу из базы данных с помощью EF Core
проанализировать сгенерированные модели
автоматически сгенерировать команды/запросы CQRS, валидаторы и конфигурации для конкретных уровней
вывести полную структуру CA
Кто-нибудь делал это? Каков практический подход к совместной организации шаблонов EF, сценариев PowerShell и генерации кода C#?
Меня интересуют:
Инструменты/библиотеки для анализа созданных моделей C#
Шаблоны для интеграции PowerShell с инструментами .NET
Экономит ли эта автоматизация время или создает нагрузку на обслуживание
Пример рабочего процесса учитывая: PowerShell → DBTools → EF scaffold → пользовательский генератор C# → структуру CA.
Ручное создание шаблонов с помощью EF Core, а затем ручной рефакторинг в слои CA.
Изучил инструменты генерации кода (шаблоны T4, анализаторы Roslyn), но обнаружил, что они сложны для этого конкретного рабочего процесса.
Экспериментировал со сценариями PowerShell для автоматизации генерации файлов на основе модели шаблонов
Чего я ожидал:
Рабочий процесс, в котором я мог бы направить инструмент на базу данных и автоматически получить полную структуру CA.
Сокращение времени на ручное программирование повторяющихся обработчиков, валидаторов и конфигураций CQRS.
Удобный подход к масштабированию этого между несколькими проектами.
Что на самом деле произошло:
Ручной рефакторинг занимает несколько часов для каждой базы данных.
Существующие инструменты либо слишком универсальны, либо слишком самоуверенны специально для CA.
Сценарии PowerShell помогли, но потребовали оркестрации нескольких инструментов (DBTools, EF, пользовательские генераторы).
Текущий блокировщик:
Неясно, существует ли проверенный шаблон для такого рода многофункциональных инструментов оркестровку или я слишком усложняю задачу, которую команды решают по-разному.

Подробнее здесь: https://stackoverflow.com/questions/797 ... tecture-pa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»