2013-05-02 17 views
0

我目前正在創建一個高度模塊化的應用程序(使用Prism-Framework)並通過CodeFirst中實現的EntityFramework訪問數據庫。EntityFramework - 使用模塊中的實體而無需訪問數據庫

我的目標是將創建的實體的「正常」使用中的數據實際寫入數據庫。寫入數據庫只能由主應用程序完成,但模塊仍應能夠使用實體類。

因此,他們必須知道DataContext或至少Entiy類。但是,這是一個問題:如果模塊更改實體類的屬性,並且主應用程序由於某種其他原因而在DataContext上調用「SaveChanges()」,則模塊所做的更改將自動保存到數據庫,而不會主要應用程序控制它。

如何防止此行爲?除了通過定義的接口到主應用程序之外,模塊不能更改數據庫內容。

我的第一個想法是在每個實體類中實現ICloneable,並且僅將實體對象的克隆傳遞給要使用的模塊。然後,如果模塊想要請求更改數據庫,則將克隆的對象傳遞給更新原始對象的主應用程序,並在DataContext上調用「SaveChanges()」。

你們認爲這是一個可行的解決方案,或者可能有更好的方法來實現這種行爲?

在此先感謝!

回答

相關問題