私は EF 4.3 を使用しており、監査フィールドをクラスとテーブルに追加しています。OperationContext を使用してクライアント アプリケーションの資格情報を取得するサービス レイヤーがあるため、その情報を EF マッピングを介してテーブルに渡します。この例は次のようになります。
class A
{
string CreatedByUser { get; set; }
}
class B : A
{
}
流暢なインターフェイスを使用して POCO からテーブルへのマッピングを提供していCreatedByUser
ます。基本クラスと派生クラスで列をマップすると、派生クラスのマッピングが有効にならず、情報がデータベースに渡されません。
派生クラスが使用するフィールドを基本クラスに作成することでこれを回避しましたが、これは監査列の単なるパススルーですが、これは面倒です。