0

내 EF STE DTO에서 OriginalValues를 가져 오는 데 문제가 있습니다.STE ChangeTracker.OriginalValues ​​always Empty

var _Item = new MyClass(); 
_Item.StartTracking(); // ChangeTracker.OriginalValues.Count = 0 
_Item.Name = "Jerry";  // ChangeTracker.OriginalValues.Count = 0 
_Item.Name = "Bob";  // ChangeTracker.OriginalValues.Count = 0 
_Item.AcceptChanges(); // ChangeTracker.OriginalValues.Count = 0 
_Item.Name = "Sam";  // ChangeTracker.OriginalValues.Count = 0 

내가 잘못하고 있나?

감사

답변

0

전체 ChangeTracker 응용 프로그램의 일부입니다 - 그것은 당신이 쉽게 OriginalValues가 무엇을해야하는지 추적 할 수 인트 T4 템플릿에 의해 생성 된 클래스입니다.

OriginalValues은 추적 된 엔터티의 탐색 속성을 수정하면 원래로드 된 외래 키 및 관련 엔터티를 저장하는 데 사용됩니다. 일반 속성에는 사용되지 않지만 필요에 따라 템플릿을 수정하고 이러한 속성에 대한 변경 내용 추적기를 사용할 수도 있습니다.

편집 :

가 저장되지 않기 때문에 (I 템플릿을 이해) 당신은 공유 재산의 원래 값을받지 않습니다. SQL 프로파일 러에서도 볼 수 있습니다. 엔티티에서 50 개의 속성을 가진 단일 스칼라 속성을 변경하고 새로운 컨텍스트에 변경 사항을 적용하면 50 개의 모든 속성으로 업데이트가 생성됩니다 (연결된 엔티티의 표준 변경 내용 추적은 해당 수정 된 속성 만 전달합니다).

공통 속성의 원래 값을 알고 싶다면 템플릿을 수정하여 해당 기능을 지원해야합니다.

+1

공통 속성의 원래 값은 어떻게 알 수 있습니까? –