gpt4 book ai didi

.net - 检测 Entity Framework EntityObject 上的哪些属性发生了变化

转载 作者:行者123 更新时间:2023-12-04 23:06:06 26 4
gpt4 key购买 nike

我想阅读 EntityObject 中的更改以纳入报告。

例如:

Name: Before After

Location: Before After



有没有通用的方法来做到这一点?我将 EF4 与默认实体类生成(不是 POCO)一起使用。

这些实体将被附加,因此应该跟踪它们的更改。我看不到通过 IEntityWithChangeTracker 执行此操作的方法界面。

遍历导航属性会很好,但是仅仅报告更改的原始属性就足够了。

最佳答案

您可以检索ObjectStateEntry为您的实体并检查 CurrentValues 的内容和 OriginalValues .试试这个(未经测试):

ObjectStateEntry entry = objectContext.ObjectStateManager.GetObjectStateEntry(entity);
foreach (string property in entry.GetModifiedProperties()) {
object oldValue = entry.OriginalValues[property];
object newValue = entry.CurrentValues[property];
}

这不会处理导航属性,我不确定它如何处理复杂类型。

关于.net - 检测 Entity Framework EntityObject 上的哪些属性发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953113/

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