2015-01-18 3 views
8

Sto provando a rinominare i nomi tabella predefiniti generati da ASP.net Identity 2.0. Ho letto tutti gli articoli, le domande e le risposte su StackOverflow ma sto ancora ricevendo lo stesso errore.Rinominare la tabella dbo.AspNetUsers

Ho rinominato le tabelle in Ruoli, UserClaims, Login, UserRoles e Utenti. Ho cambiato anche il DbContext applicazione al seguente

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"); 

    } 

} 

Ma continuo a ricevere l'errore Invalid object name 'dbo.AspNetUsers'., e non ho idea del perché la sua ancora cercando di individuare AspNetUsers, in primo luogo, invece di appena utenti anche se io fatto le modifiche sopra. Totalmente disperato ormai.

enter image description here

La banca dati così, stesse colonne con i nuovi nomi delle tabelle:

enter image description here

E il progetto di database SQL:

enter image description here

+0

@tmg yup, attaccato un'altra immagine alla domanda per mostrare la struttura –

+0

@tmg ho rimosso tutte le tabelle da il database e costruito il progetto SQL Server (aggiunto un altro screenshot), ho bisogno di fare qualsiasi altra cosa, ad es Migrazioni EF in aggiunta? –

+0

@tmg va bene così ho fatto il Enable-Migrations e Update-Database, e ora funziona bene. tramite il fatto di avere una strana tabella Utenti AspNet con una colonna http://1drv.ms/14U52nR. Ma sto progettando di fare un primo approccio al database per il progetto, come faccio ad usare il primo approccio del database per realizzare la stessa cosa, grazie amico. –

risposta

4

è necessario aggiornare Banca dati. Enable-Migrations e Update-Database, come spiegato nei dettagli here. Il primo approccio al codice EF è quello di scrivere le nostre classi di modelli e configurazioni e ogni volta che cambiamo qualcosa, usiamo le migrazioni EF per aggiornare lo schema del database.

Database primo approccio con asp.net-identità-EntityFramework vengono spiegate here e here, non così semplice

+0

@coderwill controlla i link per il primo approccio al Database. Se non ti aiutano, ti preghiamo di creare nuovi post – tmg