EF代码优先项目在更改数据库连接后不会创建AspNetUsers,AspNetRoles等表

问题描述 投票:2回答:3

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

如果您能向我解释迁移对于身份表的作用如何?

asp.net asp.net-mvc entity-framework ef-code-first
3个回答
2
投票

1)备份我的所有工作

2)删除了迁移文件夹

3)使用SQL Management Studio,从生产服务器中删除数据库

4)从包管理器控制台

Enable-Migrations -Force
Add-Migration init
Update-Database

你知道吗,现在所有的表都回到了生产数据库:-)感谢来自How to re-create database for Entity Framework?的Lin

希望这个问题/答案能帮助像我这样的其他人


0
投票

做一个备份。删除迁移文件夹。删除db。打开包管理器控制台>键入Add-Migration“initail migration”>按回车>键入update-Database然后你就好了。


0
投票

您可以只删除这些表,而不是删除数据库:

__MigrationHistory, AspNetRoles, AspNetUserClaims, AspNetUserLogins, AspNetUserRoles

然后从PM控制台删除Migration文件夹并最终删除:

Enable-Migrations -Force
Add-Migration InitialCreate
Update-Database
© www.soinside.com 2019 - 2024. All rights reserved.