2012-03-27 9 views
6

Quando ho generato il file EDMX ha fissato lo schema per ogni EntitySetCome modificare lo schema tramite la stringa di connessione quando ci si connette a Oracle utilizzando Entity Framework?

<EntitySet 
    Name="TableName" 
    EntityType="Model.Store.TableName" 
    store:Type="Tables" 
    Schema="MySchema" /> 

Il problema è che se voglio passare al database di produzione che devo cambiare l'EDMX poiché non so come scegliere lo schema nella stringa di connessione.

Come fare?

+0

Il codice è in primo luogo un approccio un'opzione? –

risposta

1

Se il primo metodo del codice è un'opzione, è possibile sovrascrivere il metodo OnModelCreating nella classe DbContext. Nel metodo OnModelCreating è possibile inserire la logica per rilevare Oracle e rinominare lo schema di conseguenza. Il primo approccio codice è stato chiesto di here.

9

ho dovuto modificare l'EDMX e rimuovere lo schema da ogni EntitySet

<EntitySet 
    Name="TableName" 
    EntityType="Model.Store.TableName" 
    store:Type="Tables" /> 

Ora si connette allo schema predefinito per un determinato utente.

+2

Grazie mille per questa risposta. Abbiamo avuto lo stesso problema nella mia azienda e non siamo riusciti a capirlo. Abbiamo già perso ore su di esso e stavamo lavorando al piano B (usa SQL Server invece di Oracle), ma la tua risposta ha salvato il giorno! – Quagmire

+0

Impressionante non sapevo come cambiarlo perché sto lavorando a un progetto con il database prima –