2013-04-09 235 views
1

我使用EF 5開發Windows窗體應用程序,並使用Code First方法開始構建數據庫。 我的問題是:「代碼優先方法比數據庫優先還是模型優先?」? 有什麼建議嗎?EF:代碼第一約束

回答

1

就具體(我將跳過一般ovewview),

什麼困擾我最大 - 是 各種Db的對象,視圖,UDF,SP-S缺乏本地支持。
意義 - 肯定的是,你可以使用它們 - 但你必須「注入」 SQL和以「C#POCO」

現在,您可以變通這個最同步的 - 例如, UDF,SP-s,你可以通過SQL查詢調用 - 並映射回來。

話雖如此 - 沒有真正的支持,並且如果您習慣了從Db方面開展工作 - 那可能會有點痛苦。即當你決定數據庫的每一個方面時,你必須放棄一些「完全控制」,並且可以調整和調整。你可以做的大部分,但它不容易保持同步。

其他'第一'選項 - 在這個意義上更先進。

在性能方面 - 代碼優先是the most involved - 即它沒有任何預先生成(開箱)並且增加了加載時間。但是,與其他EF選項相比,這個問題越來越少 - EF Power Tools可以通過使用sort of views(無視W/Db視圖)代碼生成其中的一部分來提高性能。總體而言,我也使用了很多 - 因爲它是最「靈活」和IMO值得額外的努力。