2012-03-27 60 views
6

當我生成的文件EDMX對其設定的模式爲每個EntitySet的如何使用實體框架連接到Oracle時通過連接字符串更改模式?

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

的問題是,如果我想切換到生產數據庫中,我不得不改變EDMX,因爲我不知道該如何選擇連接字符串中的Schema。

怎麼辦?

+0

代碼第一次接近選項? – 2012-03-27 17:13:22

回答

1

如果代碼第一方法是一個選項,您可以重寫DbContext類中的OnModelCreating方法。在OnModelCreating方法中,您可以將邏輯放入以檢測oracle並相應地重命名模式。代碼優先的方法已經被問起here.

9

我不得不編輯EDMX並從每一個EntitySet的

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

中刪除的架構現在它連接到默認模式給定用戶。

+2

非常感謝這個答案。我們公司遇到同樣的問題,我們無法弄清楚。我們已經浪費了幾個小時,並且正在制定計劃B(使用SQL服務器而不是Oracle),但您的答案節省了一天的時間! – Quagmire 2012-07-10 12:49:39

+0

真棒我不知道如何改變它,因爲我正在與數據庫第一個項目工作 – 2017-09-25 19:35:57

相關問題