我現在有分裂EDM跨多個項目
的實體使用的ASP .NET MVC/EF4項目包含多件自治功能,如博客,活動,競賽,維基等功能重用每個系統都通過一個巨大的EDM文件映射到我的數據庫。
這適用於主站點,但我也有一些個人站點,我只想重用mains ite中的博客功能。
我最大的問題是,由於mac daddy EDM文件,我的博客網站必須不斷更新其數據庫模式,以反映他們不使用的功能區域所做的更改(即更改爲事件系統) 。
唯一的其他疑難雜症的是,有一些實體(用戶和標籤),其具有與每個功能區域實體之間的關係,很難簡單地關分割的功能各區域到它自己的EDM。
所有這些說,我試圖找出最有效的方式來設置它。
我要下去分裂電子文件管理系統的道路各區域(博客,活動,競賽,維基),並想辦法來維護用戶和標籤實體之間的關係?
或者我應該爲每個網站創建一個EDM,它只映射實際需要的實體?唯一的問題是我的存儲庫層需要一個UnitOfWork/ObjectContext,並且通過爲每個站點創建新的ObjectContexts,我有問題重複使用我的存儲庫代碼。
您的站點應該對視圖模型工作。只有在控制器中,您纔會使用注入(DI,IoC)來推入您的存儲庫,這些將與EF上下文交互。如果您開始以這種方式思考問題 - 讓應用程序根本無需與數據存儲相關聯(稍後提供,無論您如何解決問題都無關緊要,無論是EF到SQL Server,XML存儲,等等。)。如果您在分解電火花時遇到問題,請花一些時間修理數據庫模式,規範化等。問題很可能源於此。 – mare 2011-01-30 15:05:13