MVC 5 asp.net IDENTITY不支持每个类型的多个对象集.但我只有一个DbSet存在于整个项目



我试图使一个web应用程序登录。数据库已经存在,所以我使用这里的指令来自定义登录表将被执行。有一个或两个错误,我设法解决(?),现在我被困在这个,我真的不明白它来自哪里。我的上下文是这个

public class ApplicationDbContext : IdentityDbContext<TblAdmin>
{
    public ApplicationDbContext()
        : base("TelecomConnection", throwIfV1Schema: false)
    {
        Database.SetInitializer<ApplicationDbContext>(null);
    }
    public DbSet<TblAdmin> TblAdmins { get; set; }
    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<TblAdmin>().ToTable("tblAdmins");
    }
}
最相关的问题是这个,但对我没有帮助。当用户提供登录凭据时出现问题,此时编译器在 这一行停止。
 var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe,shouldLockout:false);

这个存在的整个方法是:

 public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }
        // This doesn't count login failures towards account lockout
        // To enable password failures to trigger account lockout, change to shouldLockout: true
        var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe,shouldLockout:false);
        switch (result)
        {
            case SignInStatus.Success:
                return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return View("Lockout");
            case SignInStatus.RequiresVerification:
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
                ModelState.AddModelError("", "Wrong Password.");
                return View(model);
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return View(model);
        }
    }

我试着搜索了整个项目,甚至找不到世界"用户"。有人能告诉我怎么解决这个问题吗?

IdentityDbContext<TUser>已经为TUser实现了DbSet:

public IDbSet<TUser> Users { get; set; }

由于这里的TUserTblAdmin (IdentityDbContext<TblAdmin>),当您添加以下内容时:

public DbSet<TblAdmin> TblAdmins { get; set; }

TblAdmin现在被两个 DbSet s跟踪。

相关内容

最新更新