【问题标题】:ASP.NET Identity in wrong database错误数据库中的 ASP.NET 标识
【发布时间】:2016-01-06 22:38:51
【问题描述】:
我首先使用实体框架数据库在 Visual Studio 2015 上的 ASP.NET 中创建一个网站。创建数据库后,Visual Studio 制作了一个模板 MVC 网站供我编辑,其中包含身份验证。它使用身份。我现在意识到 Identity 将其表存储在与我创建的表存储在的数据库不同的数据库中。当我更改身份的目标数据库时,在运行站点时出现错误,提示应用程序用户不是在我的模型中。
有没有办法将 Identity 移动到 mydatabase 而不是 defaultconnection 并自动更新我的模型?
【问题讨论】:
标签:
c#
asp.net-mvc
database
asp.net-identity
【解决方案1】:
Identity 使用localdb 作为默认存储。如果您想使用另一台机器进行数据存储,您可以尝试仅更改连接字符串,并检查该机器上是否安装了SQLExpress 或更高版本的MS SQL,并且不要忘记运行您的迁移脚本(只需以确保您拥有所有必要的表格),但我不确定它是否会起作用。
如果您想使用另一个数据库存储(例如MySQL 或SQLite),您必须实现您自己的Identity 提供程序,因为默认Microsoft 实现使用MS SQL 数据库和正如我上面所说,它依赖于localdb。 Identity 内部也使用了EntityFramework,所以不会很困难。如果您决定这样做,您可以在github 上查看示例。非常简单,基于One user - one role模型
希望有帮助