1

EF6是否可以從Oracle存儲過程返回的引用遊標中生成我的模型對象?EF6是否可以從Oracle存儲過程返回的引用遊標中生成我的模型對象

所以我現在的工作場所正處於從使用webforms到MVC5的切換。

我們想使用EF6和Oracle存儲過程。我們想要實現的很多模型將從多個表中選擇數據(我們的數據庫非常龐大)。我們已經有一些存儲過程了。

我要麼能夠告訴EF6將我的模型映射到存儲過程的結果,要麼明確告訴EF6我的模型屬性來自哪個表。

另一種選擇是爲每個模型創建oracle視圖。

我一直在搜索一段時間,我很難找到一種方法來完成我們需要的。

之前,當我們使用webforms時,我們使用自己的自定義DAL/ORM。但我們真的想切換到使用實體框架。

回答

0

看來我試圖完成不支持。 EF6僅支持創建/更新/刪除存儲過程。希望我們能夠找出一種使用MVC5的標準方式,並使用已有的Oracle數據庫。

謝謝T麥肯爲你的努力,你的鏈接幫助我得出了我的結論。

+0

我處於同樣的情況,我想使用MVC 5並擁有一個現有的巨大的oracle數據庫,插入,更新,刪除映射是有用的,但我需要將查詢過程映射到實體,現在我能夠反向工程該代碼首先使用EF Power Tools從表中映射表中映射,但由於查詢過程使用引用遊標和輸出參數返回數據,因此我必須手動將結果映射到實體,您是否面臨該問題?以及您要使用的解決方案(NHibernate,dotConnect,Custom?) – MEYWD

+0

我們目前的項目足夠小,因此我們決定暫時不使用存儲過程。我懷疑我們會返回使用我們的自定義DAL,並在返回存儲過程時手動映射對象。 如果你找到一個更好的解決方案,請添加一個答案! – rocktheartsm4l

0

您這裏有2種基本選擇:

的Code First:

設計你的模型,以及 「線」 了,直到你的程序,你手動定義。

http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

http://entityframework.codeplex.com/wikipage?title=Code%20First%20Insert%2fUpdate%2fDelete%20Stored%20Procedure%20Mapping

數據庫首先:

點EF在你的數據庫和模型將您使用您的架構中創建。你總是可以使用Helper類等來調用你的自定義過程。你可以傳入EF模型並提取所需的屬性。

就我個人而言,我寧願先編寫第一個簡單的POCO對象,然後按照我認爲合適的方式進行連接。這給了你最大的靈活性,但是如果你不先建立架構並遵守一些管理模式,那麼它可能會失控。

至於高容量系統的性能,類似於Ruby-On-Rails鍋爐板MVC方法隨着它的增長可能變得笨重。對CRUD使用有效的過程將永遠勝過動態SQL。

+0

感謝您的快速響應。我想知道是否可以將我指向某個資源或詳細說明模型和存儲過程的「接線」? – rocktheartsm4l

+0

從這裏開始:http://msdn.microsoft.com/en-us/data/jj200620.aspx –

+0

在你的EF模型類中你可以右鍵單擊並指定一個存儲過程。 –

相關問題