0

(내 영어로는 유감)EF 4.2에서 변경된 속성 목록 가져 오기 코드 만

안녕하세요, 감사를 위해 데이터베이스에서 발생하는 모든 변경 사항을 기록해야합니다. 엔터티를 삽입하거나 삭제할 때 쉽습니다. 그러나 무언가를 업데이트 할 때 어떤 속성이 변경되었으며 어떤 값으로 변경되었는지 저장해야합니다. 내 도메인 서비스는 DbDomainService입니다. 변경 사항을 어떻게 얻을 수 있습니까? 이전 값을보고 직접 비교하기 위해 데이터베이스에 접근해야합니까?

+0

[MVC 및 Entity Framework와 함께 감사 로그 구현/변경 내역] 가능한 복제본 (http://stackoverflow.com/questions/6867459/implementing-audit-log-change-history-with-mvc-entity-framework) – Eranga

답변

0

이 작업을 수행하는 좀 더 세련된 방법이 있습니다 (예 : 가로 세로 코딩 기술 사용). 그러나 나는 이것을 한 경우로 고립 시켰습니다. 이것은 업데이트를 허용하는 각 엔터티에 대해 서버 측 WCF RIA Services의 표준 업데이트입니다.

public void UpdatePackingSlip(PackingSlip currentPackingSlip) 
{ 

    var BeforeUpdate_PackingSlip = this.ChangeSet.GetOriginal(currentPackingSlip); 
    //at this point you can compare the original values from the updated values, and capture 
    // whatever you want todo 

그냥 당신이 개체 컨텍스트에 개체를 다시 부착 코드를 변경하지 않도록합니다.

+0

codputer, 처음 생각했지만'this.ChangeSet.GetOriginal (currentEntity)'는 항상 null을 반환합니다. RIA 일지 ... 피 들러를 통해 보면 변경된 값 (원본은 아님) 만이 SubmitChanges의 서버로 전송된다는 것을 알 수 있습니다. – Leo

관련 문제