2009-08-08 16 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経由でデータを取得できます。

関連する問題