2014-12-17 4 views
0

현재 MVC 앱에 개정 내역 화면을 구현하려고합니다. Envers를 사용하여 각 개정에서 변경된 필드의 이름을 검색 할 수 있어야합니다. 그래서 여기에 지시를 따르고 있습니다 : http://envers.bitbucket.org/#envers-tracking-modified-entities-revchanges수정 버전의 속성 이름 추적하기

우리는 사용자 정의 개정 엔티티를 가지고 있으므로 두 번째 옵션을 사용하고 있습니다. 그것은 다음과 같습니다

[RevisionEntity(typeof(MyRevisionListener))] 
public class RevisionEntity : DefaultTrackingModifiedEntitiesRevisionEntity 
{ 
    public virtual Person User { get; set; } 
} 

당신은 내가 확실히 클래스가 수정 된 개체의 이름을 유지하는 속성을 가지고 있는지 확인하기 위해 DefaultTrackingModifiedEntitiesRevisionEntity에서 상속하고 볼 수 있듯이. 문서 당

이 점검이 정보는 수정 테이블을 참조하여 기억되어있는 테이블이라고 RevChanges 생성 :

Envers가 REVCHANGES 테이블을 생성하는 간단한 메커니즘을 제공을하는 영구 변형의 저장 엔티티 이름 사물. 단일 레코드 은 수정 식별자 (REVINFO 테이블에 대한 외래 키) 과 문자열 값을 캡슐화합니다.

나는이 테이블이 생성 된 것을 결코보고 있지 않습니다. 관련 클래스와 함께 이러한 테이블을 직접 만들고 매핑을 연결하려고 시도했지만 Envers가 어떻게 든 구성하지 않고 데이터를 테이블에 저장하는 방법을 알지 못합니다. get 메소드가 새로운 타입에서 호출 될 때 객체가 타겟 타입과 다르다고 말하는 예외가 생깁니다.

어떻게 작동합니까?

답변