У нас есть несколько бизнес-сервисов, для которых требуется IDBConnection. Очень важно, чтобы эти сервисы использовали то же самое соединение db, что и «нормальный» сервис Service-Stack, поэтому у нас есть атомарные транзакции.
Наше текущее решение для этой проблемы - создать бизнес-сервис в стеке сервисов. -service конструктор (с использованием IDbConnection, который предоставляет servicetack)
private readonly ITaskService _taskService;
public RegistrationService(IEmailService emailService, ITextProvider textProvider)
{
this._taskService = new TaskService(Db);
}
Однако я чувствую, что это не очень «умно», и, возможно, есть более подходящее решение, которое я пропускаю прямо сейчас.
Будет ли лучшим вариантом внедрить DbFactory вместо простого соединения? Если да, то DbFactory уже решает эту проблему?
Best,
Daniel