Каким образом я могу использовать IoC контейнер IServiceProvider в .NET Core Class Library?
=============================================================================================

 Архитектура приложения является трехуровневой:  
* Уровень представления - проект ASP.NET Core;
* Уровни бизнес логики и доступа к данным - проекты Class Library Core.

  

Как известно, .NET Core предоставляет свой IoC контейнер - IServiceProvider.  

Связь между уровнем представления и бизнес логики обеспечивается в классе Startup проекта ASP.NET Core:  

```
public void ConfigureServices(IServiceCollection services)
        {
            services.AddTransient<IService<Person>, PersonService>();
        }
```
  

Хотелось бы узнать, каким образом я могу реализовать данный подход для связи уровней бизнес логики и доступа к данным? 

 А причем тут IoC? Я думал всегда, что IoC наоборот, чтобы разорвать связь между уровнями.   
  

services.AddTransient, PersonService>(); эта строка не связь обеспечивает, она лишь говорит контейнеру, экземпляр какого конкретного класса создавать при запросе его из контейнера.   
  

если вам необходимо, чтобы в конструктор сервиса передавался контекст данных, то добавляем его в IoC контейнер  
`services.AddTransient<DdContext>()`,  

а в конструктор сервиса добавляем параметр, например,   
`public PersonService(DbContext context)`  

Те, когда вы запросите экземпляр IService, контейнер, скажем так, рекурсивно будет разрешать зависимости, те увидев зависимость сервиса от DbContext, и зная зарегистрированный класс, контейнер сначала создаст DbContext, затем создаст PersonService, передав в него созданный экземпляр DbContext.