2011-11-22 50 views
1

我正在使用數據庫的第一種方法與sqlce 3.5和實體框架。接下來,我將擴展我生成的(.edmx文件)部分類,並在其中實現業務邏輯的外部部分類屬性。這些額外的屬性不需要存儲在數據庫中。這是問題的正確解決方案還是還有其他更充分的解決方案?EF數據庫第一edmx擴展

回答

1

總的來說沒有黑色和白色;在這種情況下,如果正確使用部分類,那麼將所有自定義邏輯不添加到EF(edmx.cs ...)的自動生成文件中,而是添加到同一項目中的其他文件中,則基本上可以擴展Entities或者您想要的ObjectContext,當數據庫發生更改或者您在設計器中更新模型時,您可以隨時重新生成。

我通常使用這個邏輯,更具體地說,我嘗試使用分層,如我在這裏所描述的:https://stackoverflow.com/q/7474357/559144和我使除DAL之外的所有層完全獨立於EF。希望這有助於:)

+0

謝謝,實際上,我對EF(edmx.cs ...)自動生成的文件做了很小的修改,例如,將一個事件監聽器添加到一個屬性中,在代碼重新生成期間這些屬性將丟失。向像我這樣的小應用程序添加一個額外的圖層,但感覺像是過度使用,但是我會考慮用於下一個項目 – Jim