У меня есть рабочий проект на C# .NET, который структурирован в: gui, бизнес и уровнях доступа к данным. Каждый класс бизнес-уровня представляет собой объект базы данных. Я использую linq для доступа к базе данных. Но способ реализации проекта сегодня не позволяет делать много операций атомарно, и мне нужно, чтобы это было сделано на бизнес-уровне.Лучший шаблон проекта, который имеет «unitOfWork» на бизнес-уровне
Я искал некоторые шаблоны проектирования и нашел unitOfWork, что делает все операции на уровне данных в том же контексте и после внесения всех изменений. Это будет работать, чтобы сделать операции атомными. Но проблема в том, что операции, которые я хочу выполнить, должны быть проверены раньше, это означает, что вместо вызова метода из уровня данных мне нужно вызвать метод из бизнес-уровня, который должен быть проверен ранее. Этот вызов в бизнес-слое создаст другой unitOfWork и, следовательно, создаст другой контекст, нарушающий атомарность большей операции, которую я пытаюсь сделать.
Вопрос: Каков наилучший шаблон проекта для вызова одного или нескольких методов бизнес-уровня из бизнес-уровня в одном и том же контексте linq?
Кажется, что это хорошо. У этого шаблона проекта есть имя? Я хотел бы узнать больше об этом? Благодаря! – joaocarlospf
Это свободно основано на CQRS: Сегрегация ответственности за команду/запрос. –