我正在使用MVC 5和sql server 2012.I创建了名为TestDB的DB,其doest不包含任何table.Now我正在尝试使用在MVC项目中的AccountController中默认给出的Identity。我已将AccountController “Defaultconnection”更改为我的 TestDBEntities 连接但我收到错误 System.InvalidOperationException:实体类型ApplicationUser不是当前上下文模型的一部分。我如何使用现有数据库创建标识。
<connectionStrings>
<add name="TestDBEntities" connectionString="metadata=res://*/DAL.TestModel1.csdl|res://*/DAL.TestModel1.ssdl|res://*/DAL.TestModel1.msl;provider=System.Data.SqlClient;provider connection string="data source=xxxxx;initial catalog=TestDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("TestDBEntities", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
答案 0 :(得分:0)
根据我的理解,解决问题的可能方法是:
1.已将ApplicationDbContext添加到UserStore构造函数的交叉检查
例如: https://stackoverflow.com/a/23894335/3397630
2.还要检查webconfig文件中是否有任何其他连接字符串。这也可能导致问题。
如果以上两点都不起作用,请遵循以下文章:
非常好,我亲自使用并为我的项目创建了一个身份表,没有任何问题。
在文章中,每个点都有解释,每个点都很好,易于理解。
希望以上信息有用,请告诉我您的想法或反馈
由于
KARTHIK