監査フィールドに入力する一般的な方法
エンティティが追加または変更されたときに、各エンティティの監査フィールドに入力したいと考えています。
たとえば、Customer
エンティティにはCreatedDate
、がありUpdatedDate
ます。CreatedDate
、を持つ Order エンティティについても同じですUpdatedDate
。
AddCustomer
またはUpdateCustomer
メソッドまたはNewOrder
、メソッドでそれらを更新できUpdateOrder
ます。
の場合AddCustomer
:
customer.CreatedDate = DateTime.Now;
customer.UpdatedDate= DateTime.Now;
の場合UpdateCustomer
:
customer.UpdatedDate= DateTime.Now
すべてのメソッドでコードを繰り返す代わりにやりたいことは、ジェネリック型と更新を受け入れるジェネリック メソッドを使用できますか?
private void FillAuditFields<T>(ref T entity)
{
}
の中で何をすればいいですFillAuditFields
か (できれば) entity.CreatedBy
, entity.UpdatedBy
. または、これを行うより良い方法はありますか?
ご協力いただきありがとうございます