我在实验室环境中使用SQL Express数据库完成了EF Code First Project。
项目完成后,我已经更改了数据库连接字符串以连接到新的生产SQL Express数据库。
现在,我已经自动生成了Model表,但AspNetUsers,AspNetRoles,AspNetUserRoles等不会自动生成。我是一个新学习者,我需要你的帮助才能知道如何将表格放回数据库中。
如果我从软件包管理器控制台执行update-database,我会得到:
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)从包管理器控制台
Enable-Migrations -Force
Add-Migration init
Update-Database
你知道吗,现在所有的表都回到了生产数据库:-)感谢来自How to re-create database for Entity Framework?的Lin
希望这个问题/答案能帮助像我这样的其他人
做一个备份。删除迁移文件夹。删除db。打开包管理器控制台>键入Add-Migration“initail migration”>按回车>键入update-Database然后你就好了。
您可以只删除这些表,而不是删除数据库:
__MigrationHistory,
AspNetRoles,
AspNetUserClaims,
AspNetUserLogins,
AspNetUserRoles
然后从PM控制台删除Migration文件夹并最终删除:
Enable-Migrations -Force
Add-Migration InitialCreate
Update-Database