【发布时间】:2018-06-10 04:05:00
【问题描述】:
我已经启动了一个新的 ASP.NET Core 2.0 项目,并且我使用了带有 Identity 的实体框架。
起始数据库架构由以下表格组成:
在当前架构下一切正常,我对现有数据表操作没有任何问题。
现在我想更改数据库架构。我想添加一些新表,但我发现很难找到一些文档来帮助我理解如何做。
现在我关注“Create an app with user data protected by authorization”,我从creating a new model 开始到我的应用程序。
在创建新模型并为此模型搭建 Controller 后,在我的 appsettings.json 中创建了一个新上下文。我刚刚有了 DefaultConnection,现在添加了 esendContext。
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-esend-069757D7-82B1-4850-8015-07D7D54AA712;Trusted_Connection=True;MultipleActiveResultSets=true",
"esendContext": "Server=(localdb)\\mssqllocaldb;Database=esendContext-25459d27-29ec-4943-ac91-6b9cb91a0dd6;Trusted_Connection=True;MultipleActiveResultSets=true"
当我点击新网址时,我收到以下消息:
我知道我应该应用迁移,但我想知道为什么会收到 SqlException: Cannot open database .... 错误
此外,当我尝试根据 PMC 中的文档应用迁移时(Add-Migration Initial -Context esendContext 根据this,因为我收到了关于我应该使用的上下文的错误)
Install-Package Microsoft.EntityFrameworkCore.Tools
Add-Migration Initial
Update-Database
当我尝试更新数据库时,我得到了
在类上调用方法“BuildWebHost”时发生错误 '程序'。在没有应用程序服务提供商的情况下继续。错误: 无法加载文件或程序集“Microsoft.EntityFrameworkCore, 版本=2.0.1.0,文化=中性,PublicKeyToken=adb9793829ddae60'。 找到的程序集的清单定义与程序集不匹配 参考。 (HRESULT 异常:0x80131040)
在程序集“esend”中未找到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的。
我不确定这是否是我应该遵循的程序。 如果我在一个问题中陈述了太多问题,我们将不胜感激任何帮助或链接。
【问题讨论】:
-
您的解决方案中是否有多个项目?
-
@S.Akbari 不,我只有一个项目
标签: c# asp.net-mvc entity-framework asp.net-core-2.0