DbContext 的 C# 问题:参数 1:无法将“字符串”转换为“Microsoft.EntityFrameworkCore.DbContextOptions”

Kla*_*naZ 2 c# database string dbcontext entity-framework-core

我有一些问题DbContext。我决定创建一个新类,它将负责与DataBase 的连接。

public class PetAlertContext : DbContext
{
    public PetAlertContext() : base("PetAlert") { }

    public DbSet<Zwierze> Zwierzaki { get; set; }
        public DbSet<Osoba> Osoby { get; set; }
        public DbSet<Placowka> Placowki { get; set; }
        public DbSet<Ogloszenie> Ogloszenia { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我在基地名称附近有一些例外:

参数 1:无法将“字符串”转换为“Microsoft.EntityFrameworkCore.DbContextOptions”。

我发现了类似的问题和类似这样的代码的响应,但我在理解这种结构时遇到了一些问题。

你会这么好心帮我吗?我评论了这些:

public PetAlertContext(string connectionString) : base(GetOptions(connectionString))
{
}

private static DbContextOptions GetOptions(string connectionString)
{
    return SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), connectionString).Options;
}
Run Code Online (Sandbox Code Playgroud)

str*_*t01 6

Entity Framework Core 的构造函数不接受单个字符串作为参数,它接受一个DbContextOptions实例。请参阅此处的文档。您当前尝试使用的构造函数是 EF6 构造函数,它仅将连接字符串作为参数(请参阅此处)。您在问题中注释掉的代码向您展示了如何根据此处的文档DbContextOptions使用 a实例化ie的实例。因此,假设您使用的是 SQL Server 数据库,则可以使用该代码。DbContextOptionBuilder