回答

2

拉吉斯拉夫Mrnka有great SO answer,打破了DB首先,代碼優先和模型優先之間的差異。我強烈建議你去閱讀它,並注意它。

除此之外,我只想補充以下幾點:

  • 即使是在2011年6月CTP,枚舉支持是有限的,所以你可能 想看看是否有這些問題都是攪局者爲您。更新:EF5 +支持Enums with EF DesignerCode First

  • 如果要針對一個Oracle數據庫,實施EF和你 不想支付數據提供,那麼你將 沒有代碼首先,Oracle的own provider(仍處於測試階段) 不支持它。

編輯:這是另一個全面的answer from Ladislav

-2

優勢:對所有對象查詢它是否是數據庫與否,漂亮的快,如果按照規定使用一種常見的語法(LINQ /尤達),易於實現的SoC,減少代碼量需要完成複雜的任務

缺點:你必須考慮在處理數據,並不適用於所有的數據庫

缺點一種非傳統的方式:如果在數據庫中的任何架構更改FE將無法正常工作!您必須更新解決方案中的模式!

優點:它使用LINQ/FE對象的快速和直接轉發用於添加/修改/刪除/更新。

優點: - 易於映射業務對象(在環境中拖放&刪除表)。 - 當您使用中/小型模型時,它會保持良好的性能。

缺點: - 當你使用巨大的領域模型時,它受到限制。 - 可擴展性。