带有 dotNet Framework 4.6.1 和 Ninject 的 EF Core DataContext
EF Core DataContext with dotNet Framework 4.6.1 and Ninject
我正在将 EF Core 2.1.1 添加到使用 Ninject 进行依赖项注入的 DotNet Framework 4.6.1 MVC 5 项目。我想使用依赖注入创建一个 dbContext。我找到了 this answer 但它只显示了如何使用 Microsoft 依赖项注入来完成此操作。我想知道 Ninject 中的等效版本是什么,尤其是下面的部分:
services.AddDbContextPool<ExampleContext>(options => {
options.UseSqlServer("_connectionstring_");
});
在 Ninject 中,它看起来不像
kernel.Bind<YourDbContextHere>.ToSelf().WithConstructorArgument("options", new DbContextOptionsBuilder<YourDbContextHere>().UseSqlServer("YourConnectionString").Options);
允许您设置它并非常愉快地调用您的 dbcontexts
另一种选择是:
public class MyContext : DbContext
{
private readonly string connectionString;
public MyContext (string connectionString)
{
this.connectionString = connectionString;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(this.connectionString);
}
}
kernel.Bind<MyContext>.ToSelf().WithConstructorArgument("connectionString", "YourConnectionString");
我正在将 EF Core 2.1.1 添加到使用 Ninject 进行依赖项注入的 DotNet Framework 4.6.1 MVC 5 项目。我想使用依赖注入创建一个 dbContext。我找到了 this answer 但它只显示了如何使用 Microsoft 依赖项注入来完成此操作。我想知道 Ninject 中的等效版本是什么,尤其是下面的部分:
services.AddDbContextPool<ExampleContext>(options => {
options.UseSqlServer("_connectionstring_");
});
在 Ninject 中,它看起来不像
kernel.Bind<YourDbContextHere>.ToSelf().WithConstructorArgument("options", new DbContextOptionsBuilder<YourDbContextHere>().UseSqlServer("YourConnectionString").Options);
允许您设置它并非常愉快地调用您的 dbcontexts
另一种选择是:
public class MyContext : DbContext
{
private readonly string connectionString;
public MyContext (string connectionString)
{
this.connectionString = connectionString;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(this.connectionString);
}
}
kernel.Bind<MyContext>.ToSelf().WithConstructorArgument("connectionString", "YourConnectionString");