2010-11-22 51 views
2

我是.NET新手,在數據庫前端應用程序的設計過程中很早,並且在尋找一些建議。設計建議:Entity Framework對存儲過程有用嗎?

我不知道我得到它...

的DB是非常強烈的標準化,但提供了大量的存儲過程的抽象邏輯模型(如選擇存儲過程返回多個表中的密切反映一個數據集業務對象,插入/更新sprocs到多個表等)。

我應該如何設計DAL? 我不確定在這種情況下實體框架的好處。 生成時,它反映了規範化的數據庫模式,而不是其抽象。 或者如果我映射sprocs來生成它(這需要一些工作,因爲sprocs中的T-SQL是動態的並且帶有連接),我得到的業務對象沒問題,但看不到它的好處:實體表示爲一個「抽象」表,而不是一組Datarelations的實體,sprocs處理對多個表的調用。將生成的更改事件映射到sprocs比直接調用sprocs似乎更多的工作。

我錯過了什麼?

謝謝,

邁克爾。

+0

我真的不知道你真的想做什麼..第一個問題是你想如何定義你的實體模型 - 先做,然後調整數據庫以反映它。 EF不會做任何魔術,將數據庫直接映射到實體是一項複雜的任務,所以不要期望太多。 – kubal5003 2010-11-22 10:33:03

+0

一個具體的例子:我有人和組織表,他們每個都鏈接到一個地址表中的多對多關係(具有附加屬性的中間表)。 DB邏輯和sprocs只暴露(或更新):Person表,Org表,PersonAddress表和OrgAddress,抽象中間表(對於電話等相同的邏輯)。我雖然只是創建單獨的ST數據集:人(+鏈接表),組織等,但後來我忘了EF?對不起,我明顯是初學者... – Mike 2010-11-24 15:29:55

回答

0

可以用EF做這個,但設計者不會幫你;它不知道如何從存儲的proc簽名中派生實體類型。您需要手動編寫EDMX。 CTP 4 code-first 可能會更容易,但我從來沒有嘗試過。

0

經過一番研究,我想我開始走上正軌。 以下文章是非常有益的: Entity Framework Modeling: Table Per Hierarchy Inheritance

還看到:實體框架建模:實體分割

要清楚,我想要的是抽象的EF模型中的DB模式。 (我不想讓任何實體代表「無」,就像多對多的關係)。

除了這些建模技術,我使用視圖來生成EF模型,併爲CRUD添加了sprocs。

正如我所說,我是一個初學者。讓我知道如果我在錯誤的軌道上...

相關問題