У меня есть настольный проект в C # .NET, который структурирован в: GUI, бизнес и уровни доступа к данным.Каждый класс бизнес-уровня представляет сущность базы данных.Я использую linq для доступа к базе данных.Но то, как проект реализуется сегодня, не позволяет выполнять много операций атомарно, и мне нужно, чтобы это было сделано на бизнес-уровне.
Я искал некоторые шаблоны проектирования и нашел unitOfWork, который выполняет все операции с данными.слой в том же контексте и после всех изменений представлены.Это будет работать, чтобы сделать операции атомарными.Но проблема в том, что операции, которые я хочу сделать, должны быть проверены раньше, это означает, что вместо вызова метода из уровня данных мне нужно вызывать метод из бизнес-уровня, который должен быть проверен ранее.Этот вызов на бизнес-уровне создаст еще один unitOfWork и, следовательно, создаст другой контекст, нарушающий атомарность более крупной операции, которую я пытаюсь сделать.
Вопрос состоит в следующем: какой шаблон проекта лучше всего назвать одним или несколькимиметоды бизнес-уровня из бизнес-уровня в том же контексте linq?