2011-01-09 52 views
1

我打算使用在Azure上運行的SQL Azure後端使用ASP MVC3構建Web應用程序。我想使用Microsoft堆棧,並且沒有計劃改變到另一個堆棧。我正在研究使用WCF和WF,但那將是未來。EF4,MVC 3,Azure和代碼優先或傳統

我看到了使用實體框架的傳統和代碼優先的方法,但是我看不出使用一種或另一種方法是否有優勢。當然,他們每個人都有優勢,但對我來說,我不在乎我的課程是否繼承EF課程。我只想找到最有效的解決方案。

任何人都可以給我一些建議,哪種方法可能是最好的。

非常感謝

理查德

回答

0

我去守則第一種方法。

斯科特格思裏這個偉大的blog post解釋了它的優點。

+0

感謝您抽出時間回覆並添加鏈接。我已經閱讀了CodeFirst上的其他所有內容。很多人說它有多好,但我不確定這些適用於我的情況。我真正想知道的是先不使用代碼的優點是什麼? – RichardAlanA 2011-01-09 15:51:05

1

這真的是越來越意見收集問題和可能屬於更StackExchange的程序員網站,但我要一刀:

我絕對是一個傳統方法種-對的一人。對我而言,數據是關鍵。這是最重要的。各種對象,圖層,應用程序,服務來,去和演變。但數據持續不斷。這就是爲什麼我先設計數據庫的原因。根據我的經驗,數據一直是國王。

0

代碼也爲我。如果你突然開始討厭實體框架,並希望切換到NHibernate,那麼你的手就會少了很多工作。

另外,通過完全隔離您的域層與數據訪問層,可以將問題分離出來。

我不是100%確定它仍然適用,但我認爲在測試時,實體框架的代碼生成,部分類malarky可能會導致問題。

我剛纔提到的代碼是沒有多少麻煩。

0

Code First是一種「架構正確」的方法,但是當您不得不考慮開發的努力,價值和速度時,現實往往會在這些方面存在差異。

使用「模型優先」方法更快,更容易維護。數據庫更改通過簡單的右鍵單擊「Regen from database」傳播,當忘記更改屬性名稱或類型時,您不會在您的代碼中出現奇怪的錯誤。

話雖如此,你可以在EF4中使用新的POCO支持。您可以刪除在基類的依賴,而在同一時間使用建模工具:

很多在這個線程良好的聯繫:

Entity Framework 4/POCO - Where to start?