实体框架核心上下文实例选项

时间:2018-05-20 12:05:15

标签: c# asp.net-core entity-framework-core

我是EF Core的新手。

我创建了我的上下文,它来自appsettings.json

public APITestDBContext(DbContextOptions<APITestDBContext> options):base(options)
{
}

运作良好。我能够在Code First方法中更新数据库。但是当我尝试从dbcontext创建一个实例时,它正在期待选项。我不知道期待什么选择。

private APITestDBContext db = new APITestDBContext();
  

没有任何论据符合所要求的形式   参数&#39;选项&#39;的   &#39; APITestDBContext.APITestDBContext(DbContextOptions)&#39;

我需要写什么?

1 个答案:

答案 0 :(得分:1)

你所做的很好,你支持你的类的依赖注入,在Startup.cs的ConfigureService方法中你提到了如何解决注入。 所以现在你需要创建这样的新东西。您的类需要一个构造函数参数,您需要提供该参数,它与启动类中的参数值相同。

或为构造函数创建另一个重载,如下所示,它不接受任何参数:

public APITestDBContext():base()
{
}

但要做到这一点,它将调用DBContext.OnConfiguring()方法来设置你需要实现的数据库。

 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("Your Connection String");
    }
相关问题