我有一個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