NET Core中如何在Unity IOC中使用DbContextOptionsBuilder?

时间:2018-07-09 07:29:43

标签: c# unity-container asp.net-core-2.0

我正在.NET Core项目中使用Unity DI。我已经根据以下文档配置了DbContext

在我的Program.cs中:

public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseUnityServiceProvider()
        .UseStartup<Startup>()
        .Build();

在我的Startup.cs中:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<Model>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddMvc();
}

在这里,Model来自DbContext。一切正常。我想尝试使用ConfigureContainer()方法来实现相同的目的。例如,

public void ConfigureContainer(IUnityContainer container)
{
   container.RegiserType<DbContext>(new InjectionFactory(options => new Model(options)))
}

这可能吗?注射工厂的定义如下:

public InjectionFactory(Func<IUnityContainer, object> factoryFunc);
public InjectionFactory(Func<IUnityContainer, Type, string, object> factoryFunc);

我想知道这是否可以通过反射或其他方式完成??

0 个答案:

没有答案