我有一个Code First,CTP5数据上下文。我有一个DataGrid的WPF应用程序。我设置它的DataContext像:实体框架 - 代码优先,DbSet.Local不在UI中更新
dataGrid.DataContext = _context.Customers.Local;
然后我用
_context.Customers.Add(customer1); and so on
_context.SaveChanges();
然后,我给这些客户(客户列表)到另一个类做对他们的一些工作增加一些实体。
customerUpdater.Update(customers);
这需要很长时间,它会在每个客户工作时更新每个客户的属性。例如
foreach(var customer in customers) { customer.Name = "updated name"; }
虽然我在WPF UI中看不到这些更新!我所看到的只是未改变的客户的原始列表。 Customers.Local虽然是ObservableCollection,但我不明白为什么我没有看到UI中的更新。
每次发生属性更新时,我都不想调用SaveChanges(),它几乎会不断。有人能告诉我为什么这不会更新吗?
好了,所以没有办法避免INotifyPropertyChanged的那样板代码?我宁愿不花时间为所有财产写下所有这些。我认为这是ObservableCollection的重点,它会自动实现INotifyPropertyChanged并为我处理所有事情,包括通知属性是否在其中一个项目内发生更改? – Chad 2011-01-30 17:51:24