Я бы пошел по-другому.Создайте класс UnitOfWork с методами Begin и End.Тогда ваши приложения могут использовать их по своему усмотрению.Поэтому, если вы писали веб-приложение, вы можете захотеть начать единицу работы в BeginRequest и завершить единицу работы в EndRequest.Если вы пишете приложение для Windows, вы можете начать единицу работы при выполнении действия и завершить ее, когда закончите.
Суть в том, что ваш уровень данных и реализация единицы работы должныбыть независимым от контекста, в котором он используется.