我的情况与此链接非常相似,或者至少我的代码相似,并且我试图找到一种在.NET Core语法中应用相同方法的方法。
我的具体代码如下:
public partial class CompanyFormsContext : DbContext
{
public CompanyFormsContext()
: base("name=CompanyFormsContext")
{
}
public CompanyFormsContext(string connName)
: base("name=" + connName)
{
}
...
}
我收到一条错误消息:
错误CS1503参数1:无法从'string'转换为'Microsoft.EntityFrameworkCore.DbContextOptions'CompanyForms..NETCoreApp,Version = v1.0
当我翻阅base("name=CompanyFormsContext")
或中的括号时base("name=" = connName)
。
在.NET Core中实现此功能的正确方法是什么?
编辑:
我想分享一下我在appsettings.json文件中具有以下数据库连接信息:(但是,startup.cs中没有设置)
"Data": {
"CompanyFormsContext": {
"ConnectionString": "Server=(localdb)\\projectsv13;Database=companyforms;Trusted_Connection=True;"
},
"CompanyFormsContextQA": {
"ConnectionString": "Server=(localdb)\\projectsv13;Database=companyforms;Trusted_Connection=True;"
}
}
并且我发现以下链接在Startup.cs中添加DbContextOptions而不在网站上注册数据存储,我想知道一个简单的方法protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
是否足以解决我的连接问题?
从链接:
services.AddEntityFramework(Configuration)
.AddSqlServer()
.AddDbContext<MyDbContext>(
options =>
options.UseSqlServer(Configuration.Get("Data:CompanyFormsContext:ConnectionString"))
);
我的Startup.cs是否需要这种服务?
另一个选择是调用采用DbContextOptions的基本构造函数:
public BooksContext(string connectionString) : base(GetOptions(connectionString))
{
}
private static DbContextOptions GetOptions(string connectionString)
{
return SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), connectionString).Options;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句