我正在處理如何最好地在多個Visual Studio項目中打破域模型。我正在使用EntityFramework 4和Enterprise-type模式來合理化可以重用於各種應用程序的系統。最終,我想最終得到一組可以在Web應用程序中重用的混合匹配DLL類庫。跨多個項目使用EntityFramework
Sor遠,我有一個標準的數據庫模式,其中包含用戶信息,基本的CRM,基本的CMS和輕量級的電子商務平臺。
CRM /用戶表是系統的核心。 CMS和電子商務平臺利用CRM用戶表。我想定義CMS和電子商務域模型鏈接/派生自的核心域模型。
到目前爲止,我有三個Visual Studio項目:
- MyNamespace.Model.Core
- MyNamespace.Model.CMS
- MyNamespace.Model.Commerce
在每這些模型是一個實體框架域模型EDMX文件。 EDMX包含所有相關的表格。這意味着CMS和Commerce項目的EDMX文件包含一些用戶表。理論上我可以有一個大的EF模型,並將所有的POCO放在一個類中,但這不是很有擴展性。
這些項目還包含每個表的POCO(這些應該可能在一個單獨的項目中,但是在事物排序之前,它們可以保持在原來的位置!)。
當我在具有Unit of Work的服務層中使用域模型時,我只想使用一個ObjectContext(實際上是一個定位EF ObjectContext的IObjectContext包裝器)。出於這個原因,我給每個EDMX文件提供了相同的實體容器名稱和名稱空間。
問題:
- 這是做正確的事嗎?
- 如果具有相同容器名稱的相同名稱空間中存在EF模型(儘管跨越不同的項目),如果在這些不同模型中重複表/實體(例如,客戶),這會導致問題嗎?
」遠遠的,我有一個標準的數據庫模式,它包含用戶信息,基本的CRM,基本的CMS和輕量級的電子商務平臺..「 該死的我覺得你兄弟,我敢肯定你不是隻有一個在一家公司工作(也?)許多不同的事情,而不是專門從事1 :) –