【发布时间】:2013-02-15 09:41:46
【问题描述】:
我的软件有一些问题。在我的实体设计器中,我有以下类:
供应商:
该类包含有关我的供应商的信息以及与我的品牌类的一对多关系。每个供应商可以拥有无限数量的品牌。
品牌
每个品牌都属于一个供应商,并且与产品类具有一对多的关系。
产品
每个产品都属于一个品牌,并且与 StockInformation 是一对多的关系
库存信息
此类包含有关产品是否有库存的信息。
在我的 WPF 窗口中,我有三个 DataGrid,所有数据都绑定到我的三个类。
对于 Products-datagrid,我使用以下代码检索所有产品:
public List<Supplier> GetSuppliers()
{
return Container.Suppliers.Include("Brands").Include("Brands.Products").Include("Brands.Products.StockInformation").OrderBy(s => s.Name).ToList();
}
另外,我有Container.Configuration.LazyLoadingEnabled = false;
但是,问题是我的数据网格告诉我只有每个品牌的第一个产品有库存:
(我知道这是丹麦语,所以这里是翻译:
Navn = 每个产品的名称,
Listepris = 忽略这个,
Antal på lager = 目前有多少件库存,
品牌 = 品牌名称)
我知道这是不正确的,正如我的数据库所说的那样。我做错了什么?
【问题讨论】:
-
你确定这是调用链中对
Container.Suppliers的第一个引用吗? -
是的。这是唯一的参考。
-
试试这个
Container.Suppliers.Include("Brands.Products.StockInformation").OrderBy(s => s.Name).ToList(); -
这就是我开始的。试图通过将其更改为问题中的代码来解决问题。两者都不起作用。
-
@Rachel 是的,我有。只有每个 Brand 的第一个 Product 对象有超过 0 个 StockInformation 对象。
标签: c# wpf linq entity-framework datagrid