我在MVC 3应用程序中使用EF 4.1。
我的目标是将所有更改保存在另一个数据库中以进行日志记录。
我已为SavingChanges
实施了EntityContext
事件。在那种情况下,我通过GetObjectStateEntries()
提取更改,效果很好。
然后,我有另一个EntityContext
,它针对不同的模型和数据库,用于日志记录。我创建了Context,创建了日志实体,并将它们添加到日志记录上下文中。一切似乎都很好。然后,当我在日志记录上下文中调用SaveChanges()
时,会发生异常,表示我无法插入,因为Id为空(我确信它不是)。
有谁知道这是不可能实现的?我错过了一些重要的细节吗?
答案 0 :(得分:0)
案例是我在我的日志记录模型中使用了“Model first”,在所有其他模型中使用了“DB first”。这导致EF配置期望照顾Id(GUID)本身的错误,但我试图自己提供一个。我从模型中删除了实体,而是从数据库导入它们,这解决了问题!
感谢@Eranga让我朝着正确的方向前进。