А как же InMemoryDb?
то уже нет смысла ни в UnitOfWork, ни в Repository. То есть можно избавиться от Infrastructure слоя, чтобы схема была уже такая: UI, Application, Domain.
Просто в случае с UnitOfWork и Repository накладывают только лишнюю нагрузку, потому что это и так реализовано в EntityFramework.
А если никогда не впихнется?
Ну, в принципе, если в Outbox лежит запись, которая «никогда не отправилась», то через тайм-аут можно проверить это и как-то среагировать (если возможно, удалить исходную свою транзакцию, или всё до нее откатить…)
Другой вариант, где я требую особых условий, и где работодатель согласен при этом. Если я отказался от рекомендации "не работать длительно за компьютером" то выходит, и от длительного отпуска и прочих "плюшек" отказ? Хотя, самый главный вопрос, мешает ли такой тип инвалидности просто трудоустроиться именно в разработку или нет.