我在实验室环境中使用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.
如果你能向我解释迁移对于身份表的作用是什么?
答案 0 :(得分:2)
1)备份我的所有作品
2)删除了迁移文件夹
3)使用SQL Management Studio,从生产服务器删除数据库
4)从软件包管理器控制台
Enable-Migrations -Force
Add-Migration init
Update-Database
你知道吗,现在所有的表都回到了生产数据库:-) 感谢Lin来自 How to re-create database for Entity Framework?
希望这个问题/答案可以帮助像我这样的其他人
答案 1 :(得分:0)
进行备份。 删除迁移文件夹。 删除数据库。 打开软件包管理器控制台>输入 Add-Migration“ initail迁移”>命中输入>输入update-Database 那你就好了
答案 2 :(得分:0)
您不能删除数据库,而只能删除以下表:
__MigrationHistory,
AspNetRoles,
AspNetUserClaims,
AspNetUserLogins,
AspNetUserRoles
然后从您的PM控制台中删除Migration文件夹并最终删除:
Enable-Migrations -Force
Add-Migration InitialCreate
Update-Database