将ASP.NET标识存储库移动到EF Sql数据库

时间:2013-10-26 22:49:51

标签: asp.net sql asp.net-mvc entity-framework asp.net-identity

默认情况下,ASP.NET Identity用户数据存储在mdf文件中。

我想将数据存储在Sql数据库中,以便将web.config中的defaultconnection字符串更改为基于EF的连接:

 <add name="DefaultConnection" connectionString="metadata=res://*/Models.StartifyModel.csdl|res://*/Models.StartifyModel.ssdl|res://*/Models.StartifyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MYPC\SQLEXPRESS;initial catalog=mydb;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

现在,只要我想注册用户,我就会收到错误The entity type ApplicationUser is not part of the model for the current context.

我使用VS2013的默认MVC5项目模板。

1 个答案:

答案 0 :(得分:7)

请尝试以以下格式指定连接字符串:

<add name="DefaultConnection" connectionString="Data Source=127.0.0.1, 1433;Initial Catalog=YourDB;User Id=XXXX;Password=XXXXX;Asynchronous Processing=True;Encrypt=False;TrustServerCertificate=True;Persist Security Info=True" providerName="System.Data.SqlClient" />

然后在Models / IdentityModels.cs中确保你有

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("DefaultConnection")
        {
        }