Entity Framework의 보류중인 변경 사항은 어떻게 볼 수 있습니까?

.net c# entity-framework

문제

ADO.NET Entity Framework를 사용하여 응용 프로그램을 만듭니다.

디버깅하는 동안 코드를 단계별로 실행하고 모든 쿼리가 실행될 때마다 SQL Server Profiler를 볼 수는 있지만 모든 SQL 명령의 출처를 파악할 수는 없습니다.

때때로 SaveChanges() 실행하면 Entity Framework에서 예기치 않은 이상한 INSERT를 수행합니다. 때로는 응용 프로그램을 중단합니다. 나는 그 (것)들을 일으키는 원인이되고있는 무슨을 알아낼 수 없다.

SaveChanges() 호출을 기다리는 큐에 대기중인 변경을 모니터링하려면 어떻게합니까?

인기 답변

엔티티 프레임 워크 5.0 이후 DbContextChangeTracker 특성 보류중인 모든 변경이 있습니다. ObjectStateManager 와 마찬가지로 다음과 같이 다양한 상태의 엔티티를 가져올 수 있습니다.

myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Added);
myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Deleted);
myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Modified);


Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow