我正在使用Entity Framework并触发属性更改事件,如果映射了更改的属性,我想更新属性。
protected void FooPropertyChanged(object sender, PropertyChangedEventArgs e)
{
var notMappedArray = typeof(Foo).GetProperty(e.PropertyName).GetCustomAttributes(typeof(NotMappedAttribute), false); // I thought this might return null if the property did not have the attribute. It does not.
//if (notMappedArray == null)
UnitOfWork.Value.GetRepository<Foo>().Update(MyFoo);
}
查找发送到此事件的属性是否映射到实体框架中的最佳方法是什么?
编辑:我看过this question。然而,似乎答案有点过分,并没有完全符合我的需要。
答案 0 :(得分:4)
我的问题出在我的Foo课上。我显然有一个浮动[NotMapped]
属性远远超过我检查的属性。我最终使用了这样的东西:
protected void FooPropertyChanged(object sender, PropertyChangedEventArgs e)
{
var notMapped = typeof(Foo).GetProperty(e.PropertyName).GetCustomAttributes(typeof(NotMappedAttribute), false);
if (notMapped.Length == 0)
{
UnitOfWork.Value.GetRepository<Foo>().Update(MyFoo);
}
}