【发布时间】:2016-12-17 02:48:42
【问题描述】:
我的情况与此链接非常相似,或者至少我的代码相似,我正在尝试找到一种在 .NET Core 语法中应用相同方法的方法。
Pass connection string to code-first DbContext
我的具体代码如下:
public partial class CompanyFormsContext : DbContext
{
public CompanyFormsContext()
: base("name=CompanyFormsContext")
{
}
public CompanyFormsContext(string connName)
: base("name=" + connName)
{
}
...
}
我收到一条错误消息:
错误 CS1503 参数 1:无法从“字符串”转换为“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;"
}
}
我在网站上找到了以下链接Adding DbContextOptions in Startup.cs not registering data store,我想知道一个简单的protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 是否足以修复我的连接?
来自链接:
services.AddEntityFramework(Configuration)
.AddSqlServer()
.AddDbContext<MyDbContext>(
options =>
options.UseSqlServer(Configuration.Get("Data:CompanyFormsContext:ConnectionString"))
);
我的 Startup.cs 中是否需要这种服务?
【问题讨论】:
-
该链接对于学习不同类型的 Db 连接非常有用,我现在更加清楚问题所在。谢谢。
-
抱歉错过了您的编辑。肯定在正确的轨道上,看看我的回答是否有帮助。
标签: c# asp.net .net entity-framework