ASP.NET标识位于错误的数据库中

本文关键字:错误 数据库 NET 标识 于错误 ASP | 更新日期: 2023-09-27 18:29:11

我首先使用实体框架数据库在Visual Studio 2015上的ASP.NET中创建网站。创建数据库后,Visual Studio制作了一个模板MVC网站供我编辑,其中包含身份验证。它使用Identity。我现在意识到Identity将它的表存储在一个不同于我创建的表存储的数据库中。当我更改标识的目标数据库时,在运行网站时,我会收到一个错误,说应用程序用户不在我的模型中。

有没有办法将Identity移动到mydatabase而不是defaultconnection并自动更新我的模型?

ASP.NET标识位于错误的数据库中

Identity使用localdb作为默认存储。如果你想使用另一台机器来存储数据,你可以尝试只更改连接字符串,并检查该机器上是否安装了SQLExpress或更高版本的MS SQL,不要忘记运行迁移脚本(只是为了确保你有所有必要的表),但我不确定它是否能工作。

如果您想使用另一个数据库存储(例如MySQLSQLite),则必须为Identity实现自己的提供程序,因为默认的Microsoft实现使用MS SQL数据库,并且正如我上面所说,它依赖于localdbIdentity内部也使用了EntityFramework,所以不会有困难。如果您决定这样做,您可以在github上看到示例。它非常简单,基于One user - one role型号

希望对有所帮助