2012-05-11 23 views
14

Ho un'applicazione con un modello Entity funzionante generato da un database esistente. Devo puntare la mia applicazione su un nuovo database, con lo stesso schema, tranne per il fatto che i nomi delle tabelle e delle colonne sono diversi.Mapping nomi tabelle e colonne Modifica Entity Framework v4.3

Ad esempio, il mio schema corrente ha tabelle denominate "Risposta". Il mio nuovo schema a cui devo puntare ha esattamente la stessa tabella, tranne che è chiamato "tblAnswer".

Anche le mie colonne sono cambiate. Dove una volta si chiamava "AnswerId", ora è "zAnswerId". Non chiedere sul prefisso "z", è una lunga storia, ma è su ogni colonna.

Quindi, quali opzioni devo indirizzare questo modello di entità esistente (generato dal database) in un nuovo database e regolare i mapping? Ho sperimentato alcune delle tecniche utilizzate per le mappature "Code First", come indicato in this guide, ma non ho avuto fortuna. Semplicemente non so se questo è l'approccio giusto, o se c'è qualcosa che ha più senso.

Suggerimenti? Grazie in anticipo.

risposta

36

È possibile modificare il database nel file web.config.

Utilizzare le annotazioni di dati per utilizzare i diversi nomi di tabelle e colonne.

Ad esempio:

[Table("tblAnswer")] 
    class Answer 
    { 
     [Column("zAnswerId")] 
     public int AnswerId { get; set; } 
    } 
+0

Grazie per la vostra risposta rapida. Sto tentando di implementare il tuo suggerimento ora, avrò una risposta per te a breve. – letsgetsilly

+0

Ho implementato i tuoi suggerimenti. Ecco i passaggi che ho seguito: 1) Aggiornare i file app.config (sto solo usando un progetto di test per questo proof of concept) per puntare al database corretto. 2) Decorato la classe parziale "Rispondi" con gli attributi che hai suggerito. Attualmente sto ricevendo un "MetaDataException: Impossibile caricare la risorsa di metadati specificata". Da quel poco che so, questi problemi sono difficili da rintracciare. Qualsiasi suggerimento è apprezzato, ma inizierò a risolvere questo problema proprio ora. Grazie ancora per il tuo aiuto – letsgetsilly

+0

Bummer che non funziona. Potresti voler prendere una copia di Programming EF Code First di Julia Lerman per un aiuto più completo. Fammi sapere come lo risolvi, e buona fortuna. –

Problemi correlati