Единица работы позволяет вам выполнять несколько действий в нескольких репозиториях и вызывать Save()
для всех них одновременно, что вызывает SaveChanges()
, что превратит единицу работы в транзакцию. Если во время вашего звонка Save()
что-то не получается, операция откатывается.
Так что используйте единицу работы везде, где вам нужно, чтобы убедиться, что что-то не повреждено во время транзакции данных. В основном используйте единицу работы, если вы хотите отложить транзакции, пока не завершите набор действий.
Эта публикация является довольно хорошим обзором того, как структура сущности намеревается использовать единицы работы.