2015-01-18 20 views
8

Próbuję zmienić nazwy domyślnych nazw tabel generowanych przez ASP.net Identity 2.0. Przeczytałem wszystkie artykuły, pytania i odpowiedzi na stackoverflow, ale wciąż otrzymuję ten sam błąd.Zmiana nazwy tabeli dbo.AspNetUsers

Zmieniono nazwy tabel na role, identyfikatory użytkowników, loginy, role użytkownika i użytkowników. Ja również zmienił dbcontext aplikacji z następującym

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    public ApplicationDbContext() 
     : base("DefaultConnection", throwIfV1Schema: false) 
    { 
    } 

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

    protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { 
     base.OnModelCreating(modelBuilder); 


     modelBuilder.Entity<IdentityUser>().ToTable("Users", "dbo"); 
     modelBuilder.Entity<IdentityRole>().ToTable("Roles", "dbo"); 
     modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles", "dbo"); 
     modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims", "dbo"); 
     modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins", "dbo"); 

    } 

} 

ale wciąż otrzymuję błąd Invalid object name 'dbo.AspNetUsers'., a ja nie mam pojęcia, dlaczego to nadal próbuje zlokalizować AspNetUsers w pierwszej kolejności zamiast zaledwie Użytkowników chociaż dokonałem powyższych zmian. Całkowicie zdesperowany.

enter image description here

Baza danych, jak również te same kolumny z nowymi nazwami tabeli:

enter image description here

i projekt bazy danych SQL:

enter image description here

+0

@tmg yup, dołączony kolejny zrzut ekranu na pytanie, aby pokazać strukturę –

+0

@tmg usunąłem wszystkie tabele z bazę danych i zbudował projekt SQL Server (dodano kolejny zrzut ekranu), czy muszę zrobić cokolwiek innego, np Migracje EF na dodatek? –

+0

@ Tmg okay więc zrobiłem Enable-Migrations i Update-Database, i teraz działa dobrze. poprzez im posiadanie dziwnej tabeli użytkowników AspNet z jedną kolumną http://1drv.ms/14U52nR. Ale planuję zrobić pierwsze podejście do bazy danych dla projektu, jak korzystać z bazy danych pierwszego podejścia, aby osiągnąć to samo, dzięki człowieku. –

Odpowiedz

4

trzeba zaktualizować Baza danych. Enable-Migrations i Update-Database, wyjaśnione szczegółowo here. Punktem pierwszego podejścia kodu EF jest napisanie naszych klas i konfiguracji modeli, a za każdym razem, gdy coś zmieniamy, korzystamy z migracji EF, aby zaktualizować schemat bazy danych.

Database Pierwsze podejście z asp.net-tożsamość-entityframework są wyjaśnione here i here, nie tak proste

+0

@ coderwill sprawdź linki do pierwszego podejścia bazy danych. Jeśli ci nie pomogą, zrób nowy post – tmg