Изменение именных таблиц не работает в Asp.Net MVC - PullRequest
0 голосов
/ 02 декабря 2018

Тип или имя пространства имен «Роли» не существует в пространстве имен «Microsoft.AspNet.Identity.EntityFramework»

Я изменил имя таблицы идентификаторов, используя приведенный ниже код. (IdentityRoles:Роли) Но теперь я не могу использовать новое имя таблицы IdentityRole.Когда я использую новое имя, оно показывает мне красную линию под этим кодом.

// Код, который я использовал для переименования таблиц идентификации

  public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    static string dbconn = (new ClinicDbContext()).Database.Connection.ConnectionString;
    public ApplicationDbContext()
        : base(dbconn, throwIfV1Schema: false)
    {
    }

    // Renaming Identity model tables name
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder); // This needs to go before the other rules!

        modelBuilder.Entity<ApplicationUser>().ToTable("Users");
        modelBuilder.Entity<IdentityRole>().ToTable("Roles");
        modelBuilder.Entity<IdentityUserRole>().ToTable("UserwithRole");


    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

// В этом коде ниже есть ошибка.Я не могу использовать новое имя Роли вместо IdentityRole

 [HttpPost]
    public ActionResult addrole(addrole Aroles)
    {
        try
        {
            var context = new Models.ApplicationDbContext();


            context.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.**Roles**()
            {
                Name = Aroles.name
            });
            context.SaveChanges();
            ViewBag.Message = "Role created successfully !";
            return RedirectToAction("Index", "Home");
        }
        catch
        {
            return View();
        }
    }

Ошибка

...