如何實施庫模式枝條LinqToEntities 如何實現接口如何用LinqToEntities實現存儲庫模式?
2
A
回答
1
我做了以下內容:
服務層包含我的業務對象。它通過控制反轉傳遞給知識庫(Castle Windor是我通常的選擇)。存儲庫負責業務對象和實體框架對象之間的映射。
優點:您在對象狀態或EF對象的上下文中沒有問題,因爲您只是在存儲庫端的數據操作期間加載它們。這可以在將它們傳遞給WCF/Web服務時緩解這種情況。
缺點:您正在失去Entity Framework的一些跟蹤功能,您必須手動加載數據對象(例如對象),如果需要手動加載樂觀併發性檢查(例如通過業務對象上的時間戳)。
但通常我更喜歡這個解決方案,因爲它有可能在以後更改存儲庫。它允許我有不同的存儲庫(例如,我的用戶對象實際上使用ASPNetAuthenticationRepository而不是EntityFrameworkRepository),但對於我的服務層來說它是透明的。
關於接口,我將使用來自服務層的業務對象作爲參數對象,並且不要讓這些EF對象離開存儲庫層。 希望有幫助
1
我幾乎是這樣,除了「城堡溫莎」的東西。 看看openticket.codeplex.com
相關問題
- 1. 使用PetaPoco實現存儲庫模式
- 2. 使用RxJava實現存儲庫模式
- 3. 在Python中實現存儲庫模式?
- 4. 容易實現存儲庫模式
- 5. 如何實現多個數據庫的存儲庫模式
- 6. 用實體框架實現存儲庫模式。問題庫
- 7. 如何在Codeigniter中實現存儲庫模式?
- 8. 實現通用存儲庫模式 - 實體密鑰類型
- 9. 存儲庫模式:如何實現DeleteWhere接受業務實體的表達式
- 10. 使用舊ado.net實現通用存儲庫模式
- 11. 存儲庫實現
- 12. 如何使用存儲庫模式
- 13. 實現通用存儲庫和工作模式單元
- 14. 使用存儲庫和映射實現MVC設計模式,C#
- 15. 使用SOA架構在Asp.Net MVC中實現存儲庫模式
- 16. 存儲庫模式的通用接口繼承和類實現
- 17. 如何實現示例log4net存儲庫
- 18. 如何使用接口,基礎和具體實現存儲庫模式
- 19. 在Vue.js中實現存儲模式
- 20. 使用存儲庫模式
- 21. 通用存儲庫模式
- 22. 實體框架和存儲庫模式
- 23. 實體框架和存儲庫模式
- 24. 實體框架vs存儲庫模式
- 25. 存儲庫模式和實體框架
- 26. 存儲庫模式最佳實踐
- 27. 存儲庫模式與實體框架
- 28. 存儲庫模式和實體框架
- 29. 存儲庫模式
- 30. 我實現NHibernate存儲庫模式的問題