我首先使用实体框架数据库在Visual Studio 2015上的ASP.NET中创建网站。创建数据库后,Visual Studio制作了一个模板MVC网站供我编辑,其中包含身份验证。它使用Identity。我现在意识到Identity将它的表存储在一个不同于我创建的表存储的数据库中。当我更改标识的目标数据库时,在运行网站时,我会收到一个错误,说应用程序用户不在我的模型中。
有没有办法将Identity移动到mydatabase
而不是defaultconnection
并自动更新我的模型?
Identity
使用localdb
作为默认存储。如果你想使用另一台机器来存储数据,你可以尝试只更改连接字符串,并检查该机器上是否安装了SQLExpress
或更高版本的MS SQL
,不要忘记运行迁移脚本(只是为了确保你有所有必要的表),但我不确定它是否能工作。
如果您想使用另一个数据库存储(例如MySQL
或SQLite
),则必须为Identity
实现自己的提供程序,因为默认的Microsoft实现使用MS SQL
数据库,并且正如我上面所说,它依赖于localdb
。Identity
内部也使用了EntityFramework
,所以不会有困难。如果您决定这样做,您可以在github上看到示例。它非常简单,基于One user - one role
型号
希望对有所帮助