0
저는 Sql Azure 데이터베이스에 대한 모든 편집 내용을 캡처하는 간단한 변경 추적 프로그램을 구축하고 있습니다. (불행히도 Sql Azure는 기본적으로이 기능을 지원하지 않습니다. . , 속성이 탐색 속성 인 경우 - InvalidOperationException이를 - 속성이 불면의 PropertyEntry 정보를 검색, 불행하게도속성이 EF 코어의 탐색 속성인지 확인합니다.
foreach(EntityEntry entry in _context.ChangeTracker.Entries()
.Where(e => e.State == EntityState.Modified))
{
foreach(var prop in entry.Entity
.GetType()
.GetTypeInfo()
.DeclaredProperties)
{
// this line blows up on navigation properties
PropertyEntry propEntry = entry.Property(prop.Name);
if(propEntry.IsModified)
{
var curValue = entry.Property(prop.Name).CurrentValue;
var origValue = entry.Property(prop.Name).OriginalValue;
}
}
}
:
나는 ChangeTracker에 의해 반환 된 수정 된 항목의 목록을() 걷고 있어요 재산을 찾을 수 없다고 주장했다.
try/catch 블록에서 코드를 래핑 할 수는 있지만, 메타 데이터에서 속성이 탐색 또는 관련 속성인지를 확인하는 다른 방법이 있는지 궁금합니다.