Я мог бы посмотреть на публикацию сообщения в транзакционной очереди внутри той же транзакции, что и EF.Таким образом, вы можете быть уверены, что либо данные сохраняются, а бизнес-процесс запускается, либо нет.
Вы даже можете заставить свою сущность опубликовать сообщение в очереди, когда вы вызываете операцию насубъект, который должен запустить бизнес-процесс.Сообщение не будет опубликовано, пока не будет завершена вся транзакция.
NServiceBus или MassTransit могут помочь с этим.