asp.net 核心 2.0:connString 与 'microsoft.entityframeworkcore.dbcontext' 不兼容,因为它是一个字符串。无论如何使它们兼容?

asp.net core 2.0: connString is incompatible with 'microsoft.entityframeworkcore.dbcontext' because it's a string. Anyway to make them compatible?

我正在将 c# 网络应用程序从 ASP.Net 核心 1.x 更改为 ASP.Net 核心 2.0。

public class Greetcontext : DbContext
{
    public Greetcontext(string connString) : base(connString){}
}

之前的asp.net核心1.x,上面的运行没问题,但是换成asp.net核心2.0,我运行遇到一个问题,connectionString 不能是一个字符串,因为 Microsoft.EntityFrameWorkCore。于是,我变成了

public class Greetcontext : DbContext
{
    public Greetcontext(DbContextOptions<Greetcontext> connString) : base(connString){}
}

但是,由于 appsettings.json 中的 connString 是字符串,所以它会出错,这使得它们彼此不兼容。无论如何,这是否可以相互兼容?

如果您将 EF Core 2.0 与 ASP.NET core 2.0 一起使用,则应按如下所示配置 EF:

services.AddDbContext<TecTacDbContext>(opts =>
{
    // This is how you get the connectionString from your appsettings
    opts.UseSqlServer(Configuration.GetConnectionString("TecTac"));
    opts.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
});

您可以获得更多信息here

塞布