(请注意您的“另一个问题”点)
Entity Framework 4.1 提供了一个在 WPF 应用程序中特别有用的新功能 - 对象上下文的本地视图。它可以通过DbSet<T> 的Local 属性获得。 Local 返回一个 ObservableCollection<T>,其中包含所有类型为 T 的实体,这些实体当前附加到上下文(而不是状态 Deleted)。
Local 很有用,因为它会自动与对象上下文保持同步。例如:您可以运行查询以将对象加载到上下文中...
dbContext.Customers.Where(c => c.Country == "Alice's Wonderland").Load();
...然后将上下文中的对象公开为ObservableCollection ...
ObservableCollection<Customer> items = dbContext.Customers.Local;
...并将其用作某些 WPF ItemsControl 的ItemsSource。当您在此集合中添加或删除对象时...
items.Add(newCustomer);
items.Remove(oldCustomer);
...它们会自动添加到 EF 上下文中/从 EF 上下文中删除。调用SaveChanges 会将对象插入/删除数据库。
同样地在上下文中添加或删除对象...
dbContext.Customers.Add(newCustomer);
dbContext.Customers.Remove(oldCustomer);
... 自动更新 Local 集合并因此触发 WPF 绑定引擎更新 UI 的通知。
Here 是关于 EF 4.1 中 Local 的概述。