2016-05-23 119 views
1

我們對Entity Framework和存儲庫模式相當陌生,但試圖將其實現到我們的系統中。存儲庫模式,使用存儲過程的EF

我們有一個領域模型(邏輯模型),我們的系統將與之合作,這很好。問題是我們很難理解我們如何將返回的數據從存儲過程映射到此域模型。

存儲過程中返回的數據沒有映射到實體模型。

我能想到這樣做的唯一方法是純粹只是執行數據讀取器,通過DataReader的循環,並直接分配每個項目,這似乎...月...日

從谷歌搜索「DataMapping」似乎出現,但是,看不到任何如何實現這個從存儲過程到域模型的實例,只有存儲過程實體模型。

+5

如果你只是簡單地調用存儲過程,你爲什麼要使用實體框架?這是一個很小的收益TON。如果你只打算調用存儲過程,你應該切換到類似Dapper的東西,它會爲你做對象映射,而不需要開銷。你現在正在做的事情是增加了很多很少或沒有價值的東西。 –

回答

0

讓我問一個問題。

如果您決定使用普通的ADO.NET來完成映射,您現在是否已經完成了這項工作?團隊中的每個人都能100%理解代碼做了什麼?

有時候我們似乎試圖應用新技術而沒有真正理解爲什麼以及它給我們帶來的好處。您使用Entity Framework看到了哪些優勢?你在你的應用程序的版本1第5版中看到什麼樣的時間節省?如果ORM失敗會發生什麼?你們團隊中的每個人都知道爲什麼會失敗?

如果您只是使用存儲過程,最好保持簡單(ADO.NET)或使用更輕量級的映射器(如DapperMassive)。

+0

回答前兩個問題,是的,是的,所以最初,我們可能會堅持循環。但是,id喜歡瞭解如何實現這種類型的映射。我看到proc與ef一起工作,但是,返回的數據直接映射到實體,然後實體映射到業務層內的域模型。 – Simon