2011-09-02 4 views
3

내 Entity Framework 모델에서 변경 내용 추적을 구현하는 좋은 전략을 누군가에게 안내 할 수 있습니까?Entity Framework를 통한 로깅 변경

변경 사항을 (Facades/작업 단위를 통해 액세스하는) 약 20 개의 엔티티가 있으며 UI에서 레코드를 표시 할 때 누가 변경했는지 표시 할 수 있어야합니다. 내가 아는

는 Context.OnSavingChanges를 거기 (또는 그것이라고 무엇이든)하지만 난 아마,

이 나는 ​​변경 로그 개체를 만들어야합니다 context.MyEntity.ChangeLog

같은 쿼리에서 변경 사항을 액세스에 연결을 추가 할 것입니다 모든 엔티티를 통해 또는 via savingchanges를 통해 더 좋은 방법이 있습니까?

리처드

p.s. 좋은 주말 보내세요!

답변

3

엔터티 프레임 워크는 ORM = 데이터베이스에서 지속성 및로드에 대한 책임이있는 API입니다. 당신이 유지하거나로드하는 것은 완전히 당신에게 달렸습니다. 그래서 변경 추적을 원하면 코드를 작성해야합니다.

보통 가장 일반적인 방법은 OnSavingChanges을 사용하거나 SaveChanges을 덮어 쓰는 것이 보통 단일 사용자가 변경 한 내용을 저장하기 때문입니다.

-1

이 목적으로 작성한 오픈 소스 라이브러리 인 FrameLog을 참조하십시오. SaveChanges에서 호출하고 로그를 쿼리하기위한 강력한 형식의 API를 제공하는 등 나머지 작업을 처리합니다.

+0

내가 downvotes 이유를 알고 싶습니다, 그래서 내 대답을 향상시킬 수 있습니다. –

0

이전 질문이지만 EF> = 6 또는 EF Core에서 변경 사항을 감사하는 사람은 누구나 오픈 소스 라이브러리 Audit.EntityFramework을 사용해 볼 수 있습니다.

관련 문제