2009-08-08 4 views
1

안녕 얘들 아, 어떻게 데이터 액세스 레이어 아래의 SubSonic에서 모든 객체/클래스에 대한 감사 추적을 구현합니까?SubSonic 3.0.0.3 | 데이터 액세스 레이어 - 감사 추적

원하는 경우 모든 개체의 모든 변경 사항이 단일 테이블/개체에 기록됩니다.

public class AuditTrail 
{ 
    public int Id { get; set; } 
    public string SourceObjectName { get; set; } 
    public int RowPK { get; set; } // Id of the SourceObject 
    public string ChangeType {get; set;} // value such as "Add", "Update", "Delete" 
    public string RowCapture { get; set; } // Id="6" UserId="xxx3" SurName="NoBodyx" FirstName="no3" MiddleName="B." Email="[email protected]" CreatedDate="8/6/2009 1:57:58 PM" CreatedBy="ca3" UpdatedDate="8/7/2009 5:58:37 AM" UpdatedBy="qqq" Name="no3 B. NoBodyx" 
    public CreatedDate {get; set;} 
} 

답변

0

저는 모든 감사 기록을 트리거를 사용하여 데이터베이스에서 직접 처리합니다. 감사가 코드에서 오는 변경에만 발생하면 누군가가 직접 SQL 쿼리 또는 Management Studio를 통해 데이터를 조작하면 아무런 흔적도 없습니다. 또한 트리거 기반 설정이 코드 기반 설정보다 성능이 뛰어나고 성능이 떨어지는 것을 발견했습니다.

테이블 당 감사 테이블을 만들고 모든 트리거를 설정하는 저장 프로 시저를 사용합니다. 그러나 원하는 경우 비슷한 설정으로 단일 감사 테이블을 가리킬 수 있습니다.

일단 감사 테이블이 존재하면 Subsonic을 통해 데이터를 가져올 수 있습니다.

관련 문제