希望在我的 DbContext 子类上编写通用审计代码。
foreach (var entry in this.ChangeTracker.Entries<MyClass>())
{
if (entry.State == EntityState.Modified)
{
var entityProperties = entry.Entity.GetType().GetProperties();
foreach (var entityProperty in entityProperties)
{
DbMemberEntry propertyEntry = entry.Member(property.Name);
if (propertyEntry is DbPropertyEntry)
{
// IsModified available
}
else if (propertyEntry is DbReferenceEntry)
{
// IsModified not available
}
}
}
}
1)如果我只更改参考属性,entry.State 值为“未更改”。
2) 即使第 1 点设置为“已修改”,DbReferenceEntry 类似乎也没有 IsModified 属性,也没有原始值。
我认为这是可能的,因为 EF 必须跟踪这一点。
任何人都可以帮忙吗?
谢谢,本