我在DbContext中遇到了一些问题。我决定创建一个新类,该类将负责与数据库的连接。
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; }
}
}
但是我在base名称附近有一些例外:
参数1:无法将'string'转换为'Microsoft.EntityFrameworkCore.DbContextOptions'。
我发现类似的代码具有类似的问题和响应,但是在理解这种结构方面存在一些问题。
您愿意帮助我吗?
//public PetAlertContext(string connectionString) : base(GetOptions(connectionString))
//{
//}
//private static DbContextOptions GetOptions(string connectionString)
//{
// return SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), connectionString).Options;
//}
Entity Framework Core的构造函数不采用单个字符串作为参数,而是采用DbContextOptions
实例。参见the documentation here。您当前尝试使用的构造函数是EF6构造函数,它仅将连接字符串作为参数(see here)。您在问题中注释掉的代码显示了如何实例化DbContextOptions
的实例,即根据文档DbContextOptionBuilder
使用here实例化。因此,假设您使用的是SQL Server数据库,则可以使用该代码。