EF Code First 项目在更改数据库连接后不会创建 AspNetUsers、AspNetRoles 等表。



我已经在实验室环境中使用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

最新更新