要在现有的MVC项目中添加ASP.NET Identity 2.0,我有Customize(只是表的名称)Identity Table如下所示,
并遵循此link以DB首先实现.NET身份。
运行应用程序时,没有错误。
但是当我要注册时,会收到此错误,
请帮助。 提前谢谢。
答案 0 :(得分:0)
真正的问题是,您尝试添加DBContext
中与DBContext
实例创建的UserManager
不同的用户实例(由ApplicationUser
使用)。
假设你有一个User
个实例:
var newUser = new User
{
UserName = model.Email,
Email = model.Email
}
然后你应该以适当的方式立即插入User
实例(即在ApplicationUser
的同一个实例中):
try
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
user.UserInfo = newUser;
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
// do something
}
}
catch (Exception e)
{
// throw exception here
}
注意:如果您为单个数据库使用多个连接字符串,请仅保留一个Entity Framework连接字符串,并丢弃指向同一数据库的其他字符串。
如果您的ApplicationUserManager
课程继承了UserManager<ApplicationUser>
,请确保您拥有database context set up to use ApplicationUser
context:
var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<NameOfYourDatabaseContext>()));
相关问题:
The entity type ApplicationUser is not part of the model for the current context Asp.Net MVC
MVC 5 UserManager: The entity type ApplicationUser is not part of the model for the current context