7
내 DbContext 하위 클래스에 일반 감사 코드를 작성하려고합니다.Entity Framework 변경 추적 API 및 참조 항목
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이 "Modified"로 설정되어 있어도 DbReferenceEntry 클래스에는 IsModified 속성이나 원래 값이없는 것 같습니다.
EF가이를 추적해야하기 때문에 가능하다고 생각합니다.
아무도 도와 줄 수 있습니까?
감사합니다, 벤