我是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;
我需要写什么?
答案 0 :(得分:1)
你所做的很好,你支持你的类的依赖注入,在Startup.cs的ConfigureService方法中你提到了如何解决注入。 所以现在你需要创建这样的新东西。您的类需要一个构造函数参数,您需要提供该参数,它与启动类中的参数值相同。
或为构造函数创建另一个重载,如下所示,它不接受任何参数:
public APITestDBContext():base()
{
}
但要做到这一点,它将调用DBContext.OnConfiguring()方法来设置你需要实现的数据库。
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Your Connection String");
}