我需要在我的 EF 4 STE 公共 getter 和 setter 中执行一些自定义逻辑。但是,我只希望在 EF 当前未对实体进行水合时执行此自定义逻辑。
是否有任何内置标志、状态或对象状态可以检查以确定 EF 当前是否代表我在为 STE 实体进行水合?
我没有进行延迟加载,因此我们一次性执行所有数据加载。我希望我不必更改 Entity T4 模板来添加基础设施来自己跟踪这些东西。
谢谢,内特
我需要在我的 EF 4 STE 公共 getter 和 setter 中执行一些自定义逻辑。但是,我只希望在 EF 当前未对实体进行水合时执行此自定义逻辑。
是否有任何内置标志、状态或对象状态可以检查以确定 EF 当前是否代表我在为 STE 实体进行水合?
我没有进行延迟加载,因此我们一次性执行所有数据加载。我希望我不必更改 Entity T4 模板来添加基础设施来自己跟踪这些东西。
谢谢,内特
不,没有这样的标志,但你可以尝试这样做:
唯一的问题是这些方法将成为 STE 的公共接口的一部分。为避免这种情况,您可以在 ObjectContext 中实现这些方法并使用标志访问 STE 的内部属性。只有当 STE 和 ObjectContext 在同一个程序集中或使用 InternalsVisibleTo 时,这才有可能。