实体框架代码对象实例化的第一个回调

本文关键字:第一个 回调 实例化 对象 框架 代码 实体 | 更新日期: 2023-09-27 18:01:58

这可能是一个牵强的问题,但是有可能在一个实体对象中有一个回调火,每当它的一个新的实例已经从数据库加载(例如linq查询的一部分),一个调用创建或类似的?

这样一个回调的目的是传递一个上下文,或一组初始化参数,从封闭的业务对象

实体框架代码对象实例化的第一个回调

DbContext绝对没有,但您可以尝试将其转换回ObjectContext并使用:

var objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
objectContext.ObjectMaterialized += ...

它将从数据库加载对象后触发(我不确定它是否适用于新创建的对象)。它是所有对象的全局事件,因此您必须将一些逻辑放入处理程序中,以便仅为某些类型运行代码。