如何在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