Это в проекте .NET Core.При запуске я регистрирую синглтон для моей службы перевода, который инициализируется с настройками конфигурации из appsettings.json.Как только это установлено, все приложение будет использовать этот сервис.Это прекрасно работает в моих контроллерах и репозиториях, я просто определяю конструктор, который принимает этот интерфейс, и он внедряет, как и ожидалось:
services.AddSingleton<Foo.Bar.ITranslationService>(
new Foo.Bar.SomeTranslator(config.TranslationSettings));
Но проблема, с которой я столкнулся, заключается в том, что POCO необходимо использовать эту службу перевода,И все мои POCO генерируются репозиторием как обобщенные, поэтому, например, метод репозитория может выглядеть следующим образом:
public TEntity GetById(object id){
return connection.Get<TEntity>(id);
}
Таким образом, в репозиторий передается внедренный TranslationService, но есть ли способ для чистогопередать это POCO, которому это нужно, используя DI?Или мне нужно как-то взломать?Я пытаюсь найти самый чистый способ сделать это, спасибо!