当我尝试自定义应用程序用户时,我收到此错误消息Unknown column 'Extent2.IdentityUser_Id' in 'field list'
。
完整错误:
未知列
Extent2.IdentityUser_Id' in 'field list'
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:
MySql.Data.MySqlClient.MySqlException: Unknown column 'Extent2.IdentityUser_Id' in 'field list'
Line 96: var user = await UserManager.FindByNameAsync(model.UserName);
我已经存在了带有用户表的Mysql数据库。我不能用其他表。我必须保留MyUser表,然后按照Asp.Net标识定义添加一些表:
在IdentiyModels.cs中:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(): base("KadContext")
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>().ToTable("ad_users").Property(p => p.Id).HasColumnName("id");
modelBuilder.Entity<IdentityUser>().ToTable("ad_users").Property(p => p.UserName).HasColumnName("user_name");
p.PasswordHash).HasColumnName("user_password");
modelBuilder.Entity<ApplicationUser>().ToTable("ad_users").Property(p => p.Id).HasColumnName("id");
modelBuilder.Entity<ApplicationUser>().ToTable("ad_users").Property(p => p.UserName).HasColumnName("user_name");
modelBuilder.Entity<IdentityUserRole>().ToTable("ad_userroles");
modelBuilder.Entity<IdentityUserLogin>().ToTable("ad_userlogins");
modelBuilder.Entity<IdentityUserClaim>().ToTable("ad_userclaims");
modelBuilder.Entity<IdentityRole>().ToTable("ad_roles");
}
}
我想挂钩进入OWIN Self Hosting为登录功能创建Authencation
在AccountController.cs中:
//
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
//[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
var user = await UserManager.FindByNameAsync(model.UserName);
var identity = await SignInManager.CreateUserIdentityAsync(user);
AuthenticationManager.SignIn(identity);
return RedirectToLocal(returnUrl);
}
我在检查LDAP服务器的用户权限后,才使用AuthencationManager来管理Authencation。所以我想在MVC 5系统上挂起ASP.NET Identity OWIN。
有没有人看到这个错误?我需要一个解决方案来完成它。
有没有人有完整的解决方案!?