MVC5 ApplicationUser不是当前上下文的模型的一部分

use*_*393 0 asp.net-mvc-4 asp.net-mvc-5

我试图在我现有的SQL Server 2008数据库上创建成员资格表,并使用它而不是在Visual Studio中为我创建的默认数据库,但在注册帐户时收到错误.有没有办法像之前的aspnet_regsql一样手动创建表?

错误:实体类型ApplicationUser不是当前上下文的模型的一部分

我想出了答案.applicationUser不喜欢使用数据库第一种方法创建的连接字符串.您需要使用标准连接字符串.

use*_*393 5

在您的IdentityModel.cs中

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

在WebConfig中,使用2个不同的连接字符串,一个用于ApplicationDbContext,另一个用于数据库,首先是.edmx设置:

<add name="DefaultConnection" providerName="System.Data.SqlClient"                 connectionString="data source=(local); Initial Catalog=StoreDB; Integrated Security=SSPI;" />


<add name="StoreEntities" connectionString="metadata=res://*/Models.StoreDB.csdl|    res://*/Models.StoreDB.ssdl|res://*/Models.StoreDB.msl;provider=System.Data.SqlClient;provider connection     string=&quot;data source=(local);initial catalog=STOREDB;integrated     security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"     providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)