gpt4 book ai didi

entity-framework - DBContext 添加/附加事件?

转载 作者:行者123 更新时间:2023-12-04 04:45:38 30 4
gpt4 key购买 nike

EF 4.1 钢筋混凝土。在将实体添加/附加到 DBContext 后,我​​想运行一些代码。有没有这方面的事件(我找不到)。基本上我想检查添加/附加的实体是否属于某个接口(interface),如果是,用它做一些事情。
谢谢!

最佳答案

要跟踪对上下文的更改,您可以使用 ObjectStateManagerChanged ObjectStateManager 的事件.访问 ObjectStateManager ,您必须使用 IObjectContextAdapter用于类型转换 DbContext 之类的

var contextAdapter = ((IObjectContextAdapter)dbcontext);            
contextAdapter.ObjectContext
.ObjectStateManager
.ObjectStateManagerChanged += ObjectStateManagerChanged;

一旦你得到了这个事件,它就会在每次通过向 ObjectStateManager 添加或删除实体来更改集合时触发。 .
要跟踪实体的状态,请使用 GetObjectStateEntry()ObjectStateManager并使用 ElementCollectionChangeEventArgs参数。

结合 CollectionChangeEventArgs 的两种状态和 ObjectStateEntry你可以跟踪,发生了什么......

关于entity-framework - DBContext 添加/附加事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5407860/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com