我将以下 SQL 表映射到两个实体(具有相同的属性)
Two Tables look like:
MasterPartNumbers (parent) many -> many MasterPartsLists (children)
(PK) pnID (PK)(FK) parentPnID
pn (PK) pnID
pnDesc qty
price
isAssembly
注意:这些 SQL 表只是简单地添加到我的模型中,映射保持原样。所以它们每个都有主/外键属性作为导航属性。
我有一个ObservableCollection
i 用作ItemsSource
绑定,它看起来像:
public ObservableCollection<MasterPartNumber> SelectedAssyBOMLineItems
{
get
{
if (this._selectedTopLevelAssyPN != null)
{
var bomItems = (from childMpn in this._context.MasterPartNumbers
from childMpl in this._context.MasterPartsLists
where childMpl.parentPnID == this._selectedTopLevelAssyPN.pnID //this._selectedTopLevelAssyPn.pnID is simply the selected "Parent" part number in an adjacent ListBox on my View (usercontrol). It is of type MasterPartNumber
where childMpl.pnID == childMpn.pnID
select childMpn
);
return this._selectedAssyBOMLineItems = new ObservableCollection<MasterPartNumber>(bomItems);
}
return this._selectedAssyBOMLineItems;
}
set
{
this._selectedAssyBOMLineItems = value;
RaisePropertyChanged("SelectedAssyBOMLineItems");
}
到目前为止一切顺利——我能够绑定到 MasterPartNumbers 的所有属性,并且我正在查看我的 DataGrid 中的查询提供的预期数据子集。但是,我无法绑定到任何 MasterPartNumbers.MasterPartsLists 属性。当我单步调试调试器时,我可以看到它们已加载。我错过了什么?
我希望通过_context.MasterPartNumbers.Include("MasterPartsLists")
在查询中使用类似 a 的内容从上下文中加载相关实体,将绑定路径引用为 {Binding MasterPartsList.isAssy}。
我正在寻找的行为类似于在此处找到的答案
提前致谢!:)