我需要刷新我所有的IQueryable<EntityObject>
类型属性。
我知道您可以通过以下方式刷新集合:
someObjectContext.Refresh(System.Data.Objects.RefreshMode.StoreWins, someEntityObject);
但我无法获得所有属性:
//Here i want to get all the propeties
var iQueryablePropertiesList = ViewModel.GetType().GetProperties().Where(x => x.GetType().BaseType is IQueryable<EntityObject>);
//Here i want to loop through all the properties and refresh them
foreach (var item in iQueryablePropertiesList)
{
someObjectContext.Refresh(System.Data.Objects.RefreshMode.StoreWins, item.GetValue(this, null));
}
//Fire PropertyChanged for all properties
OnPropertyChanged(String.Empty);
iQueryablePropertiesList
没有结果。
这样做的原因是我需要刷新所有绑定 ComboBoxes 的集合。
所以说:
- 这是刷新 ViewModel 中所有集合的正确方法吗?
- 如果没有,我应该如何解决我的问题?
- 如果是,我需要添加什么
LINQ
查询来获得我想要的结果?