1

ソフトウェアに問題があります。私のエンティティデザイナには、次のクラスがあります。

サプライヤー
このクラスは、私のサプライヤーに関する情報と、私のブランドクラスとの1対多の関係を保持しています。各サプライヤーは無制限の数のブランドを持つことができます。

ブランド
各ブランドはサプライヤーに属し、製品クラスと1対多の関係にあります。

製品
各製品はブランドに属しており、StockInformationと1対多の関係にあります

StockInformation
このクラスは、製品の在庫があるかどうかに関する情報を保持します。

WPFウィンドウには、3つのDataGridがあり、すべてが3つのクラスにデータバインドされています。

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 =これを無視する、
Antalpå lager =現在在庫のあるユニット数、
ブランド=ブランド名)

ここに画像の説明を入力してください

私のデータベースがそうではないと言っているように、私はこれが正しくないことを知っています。私は何が間違っているのですか?

4

1 に答える 1

0

グリッドの各行は を表すためProduct、そこでクエリを開始します。

Container.Products.Include("Brand.Supplier").Include("StockInformation")
    .OrderB‌​y(s => s.Name).ToList()

もちろん、これは を返しますList<Product>

そしてどうやら、あなたのコメントを見て、それは問題も解決します:)。

于 2013-02-19T08:22:47.563 に答える