Dot-Net

使用實體框架連接到 Oracle 時如何通過連接字元串更改架構?

  • February 4, 2014

當我生成 EDMX 文件時,它為每個 EntitySet 設置了 Schema

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

問題是,如果我想切換到生產數據庫,我必須更改 EDMX,因為我不知道如何在連接字元串中選擇 Schema。

怎麼做?

如果程式碼優先方法是一個選項,您可以覆蓋 DbContext 類中的 OnModelCreating 方法。在 OnModelCreating 方法中,您可以放入邏輯以檢測 oracle 並相應地重命名架構。這裡已經詢問了程式碼優先方法

我只需要編輯 EDMX 並從每個 EntitySet 中刪除 Schema

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

現在它連接到給定使用者的預設模式。

引用自:https://stackoverflow.com/questions/9894266