2012-03-27 1 views
6

Als ich erzeugt die EDMX-Datei das Schema für jede EntitySetWie kann das Schema über die Verbindungszeichenfolge geändert werden, wenn eine Verbindung zu Oracle mit Entity Framework hergestellt wird?

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

gesetzt Das Problem ist, dass, wenn ich in die Produktionsdatenbank wechseln will, muss ich die EDMX ändern, da ich weiß nicht, wie zu wählen das Schema in der Verbindungszeichenfolge.

Wie geht das?

+0

Ist der Code First Approach eine Option? –

Antwort

1

Wenn die erste Code-Methode eine Option ist, können Sie die OnModelCreating-Methode in Ihrer DbContext-Klasse überschreiben. In der OnModelCreating-Methode können Sie eine Logik einfügen, um Oracle zu erkennen und das Schema entsprechend umzubenennen. Der Code erster Ansatz wurde über here. fragte

9

Ich musste nur die EDMX bearbeiten und das Schema von jedem EntitySet

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

Jetzt entfernen Sie es verbindet sich mit dem Standardschema für einen bestimmten Benutzer.

+2

Vielen Dank für diese Antwort. Wir hatten das gleiche Problem in meiner Firma und wir konnten es nicht herausfinden. Wir haben schon Stunden damit verschwendet und arbeiteten an Plan B (benutze SQL Server statt Oracle), aber deine Antwort rettete den Tag! – Quagmire

+0

Awesome Ich wusste nicht, wie ich es ändern kann, weil ich zuerst in einem Projekt mit Datenbank arbeite –

Verwandte Themen