DbContext class - ASP.Net.Core



如何在ASP.NET Core中应用:base("name=connectionstring_name")?因为我的Visual Studio显示cannot convert from 'string' to 'Microsoft.EntityFrameworkCore.DbContextOptions'

namespace SchoolDataLayer
{
public class Context: DbContext 
{
public SchoolDBContext() : base("name=SchoolDBConnectionString") 
{
}
}
}
public SchoolDBContext() : base("name=SchoolDBConnectionString") 

错误提示您应该传递DbContextOptions类,而不是连接字符串。DbContextOptions实例携带配置信息,如:

  • 要使用的数据库提供程序,通常通过调用UseSqlServer或UseSqlite等方法来选择。这些扩展方法需要相应的提供程序包,如Microsoft.EntityFrameworkCore.SQL Server或Microsoft.EntityFrameworks Core.SQL ite。这些方法是在Microsoft.EntityFramework Core命名空间中定义的
  • 数据库实例的任何必要的连接字符串或标识符,通常作为参数传递给上述提供程序选择方法
  • 任何提供程序级别的可选行为选择器,通常也链接在对提供程序选择方法的调用内部
  • 任何通用的EF Core行为选择器,通常链接在提供者选择器方法之后或之前

这里有一个例子:

public class Context: SchoolDbContext
{
public SchoolDbContext(DbContextOptions<SchoolDbContext> options)
: base(options)
{
}
}

有关详细信息,请阅读https://learn.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext

最新更新