[英]In EF, call SaveChanges from SavingChanges event?
我在MVC 3應用程序中使用EF 4.1。
我的目標是將所有更改保存在另一個數據庫中以進行日志記錄。
我已經為EntityContext
實現了SavingChanges
事件。 在那種情況下,我通過GetObjectStateEntries()
提取更改,效果很好。
然后,我有另一個EntityContext
,它可以針對不同的模型和數據庫進行記錄。 我創建該上下文,創建日志記錄實體,並將它們添加到日志記錄上下文中。 一切似乎都正常。 然后,當我在日志記錄上下文中調用SaveChanges()
時,發生異常,這表示我無法插入,因為Id為null(我確定不是)。
有人知道這是否不可能嗎? 我是否缺少一些重要的細節?
情況是我在日志模型中使用了“模型優先”,而在所有其他模型中都使用了“數據庫優先”。 這導致了EF配置期望照顧Id(GUID)本身的錯誤,但是我試圖自己提供一個。 我從模型中刪除了實體,而是從數據庫中導入了實體,這就解決了問題!
感謝@Eranga為我設定了正確的方向。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.