我已经在实验室环境中使用SQL Express数据库完成了EF代码第一个项目。
项目完成后,我将DB连接字符串更改为连接到新的生产SQL Express数据库。
现在,我已经自动生成了模型表,但是没有自动生成aspnetuser,aspnetroles,aspnetuserroles等。我是一个新的学习者,我需要您的帮助才能知道如何将桌子恢复到数据库中。
如果我从包装管理器控制台进行更新数据库,我会得到:
Error Number:4902,State:1,Class:16
Cannot find the object "dbo.AspNetUsers" because it does not exist or you do not have permissions.
以及如果您可以向我解释迁移如何用于身份表?
1(备份了我所有的工作
2(删除迁移文件夹
3(使用SQL Management Studio(从生产服务器(删除了数据库
4(来自Package Manager Console
Enable-Migrations -Force
Add-Migration init
Update-Database
您知道什么,所有表都回到了生产数据库中:-)多亏了林如何重新创建实体框架数据库?
希望这个问题/答案将帮助像我这样的其他人
备份。删除迁移文件夹。删除DB。打开软件包管理器>类型添加移民" initail迁移">命中输入>键入更新数据库那你就走了。
而不是删除数据库,您只能删除这些表:
__MigrationHistory,
AspNetRoles,
AspNetUserClaims,
AspNetUserLogins,
AspNetUserRoles
然后,从您的PM删除迁移文件夹和最终系统:
Enable-Migrations -Force
Add-Migration InitialCreate
Update-Database