我正在研究一個應用程序,其中有大約5個上下文,每個對應於數據庫中的數據庫模式(模式如Accounts,Sales,Purchases ..等),所有這些都連接到同一個數據庫。 現在我建立在數據庫中存儲的審計功能,這是所有環境共享的功能,基本上,我重寫SaveChanges
方法,還有我保存ChangeTracker.Entries
其中存在於CommonContext
的Audit
表,現在我想在所有上下文中應用相同的代碼,我想在這兩個選項中:在EF覆蓋SaveChanges的幾個上下文中共享代碼?
- 在每個上下文中都有一個表,並在所有上下文中複製/粘貼審計代碼(可怕的選項)。
- 在所有上下文中調用並打開CommonContext
,這對我來說似乎不是很好的做法(在另一個上下文中打開上下文,我將不得不引用CommonContext庫)。
這些是我能想到的唯一選擇,所以我在這裏尋求幫助!
我使用EF 6數據庫優先。
我認爲如果您將CommonContext設置爲Base上下文並從其他上下文繼承它。 –