我有一个使用Entity Framework 4和自我跟踪实体消耗数据的WPF应用程序。其中我有一个带有2个控件的窗口,其中一个使用ContentControl显示对象的“Details”部分,并使用合并的资源字典显示模板。另一个具有ListBox of Groups的组件所涉及的对象和一个可用组的ComboBox,它可以属于一个按钮,通过命令连接到控件,根据ComboBox的SelectedItem从绑定的Group集合中添加/删除项目。所有这些都由DependencyPropertys绑定在一起。
在我的窗口中,我有对象的DP,我们正在编辑的EditedItem和一个只读属性,其中包含可能属于的组的列表,并通过XAML将其绑定到我的控件。
SO ....
如果我创建了一个我的实体的新实例,请设置它的属性如下:(确实这是确切的代码)
Employee employee = Context.CreateObject<Employee>();
employee.Name = "Joe Nobody's Brother Steve";
employee.Active = true;
employee.Username = "snobody";
Group group = Context.CreateObject<Group>();
group.Name = "Losers";
group.DisplayName = "Spirit Squad";
employee.Groups.Add(group);
并将其设置为我的Window的EditedItem,它无法正常工作!
但是,如果我从我的数据库中获取这个完全相同的实体,则Group ListBox为空。 有什么想法吗?
答案 0 :(得分:0)
事实证明我在其他方面犯了一个错误: 我需要打电话:
ObjectContext.LoadProperty(entity, navigationProperty);
在我的导航属性上,以便填充它们。我认为这与我的对象有关,所有对象都是从核心对象派生的,而且我在核心对象的ObjectSet上使用OfType选择它们。或者它可能是行为,但我想我以前会遇到它。
但是,嘿,我会接受工作,这很容易融入我的选择方法和属性。
将这一点归结为无知EF4。