エンティティに3つのプロパティがあるかどうか確認したいと思います。 CreatedDate、ModifiedDate、およびModifiedByです。汎用エンティティのプロパティを設定するにはどうすればよいですか?
今私は自分のObject ContextのSaveChanges()メソッドで持っているものをハードコーディングしています。
public static bool HasMethod(this object objectToCheck, string methodName)
{
var type = objectToCheck.GetType();
return type.GetMethod(methodName) != null;
}
しかし、どのように、私は直接せずに、これらのプロパティになるだろう:私はそれはオブジェクトがこのようなコードを使用して、特定のメソッドを持っているかどうかを確認することができます知っている
bool newEntity = (entry.State == EntityState.Added);
if (type == typeof(Foo))
{
var r = entry.Entity as Foo;
if (r != null)
{
if (newEntity)
r.CreatedDate = DateTime.Now;
r.ModifiedDate = DateTime.Now;
r.ModifiedBy = HttpContext.Current.User.Identity.Name;
}
}
:例えば
エンティティをキャストしますか?私はあなたがメソッドの下に使用することができますASP.Net MVC 4
反射を使用します。 'PropertyInfo'です。 – Romoku
おそらく[動的](http://msdn.microsoft.com/en-us/library/dd264736.aspx)がそのために使用できますが、私はそれについてはわかりません。 – dowhilefor
タイトルにタグを追加する意味はありません。詳細については、http://meta.stackexchange.com/q/19190/147072を参照してください。 – Patrick