2016-09-02 1 views
0

カテゴリに属する​​商品に基づいた価格表があります。サブカテゴリの商品の価格がこのリストに表示されていないことを確認する必要がありますが、そうではありません。サブカテゴリとカテゴリはdb内の同じテーブルにありますが、唯一の違いは、サブカテゴリがその子であることを示すための親IDを持つことです。アイテムが文字列に表示されないようにするLINQ

私は何とか結びつける必要があるこれら2つのLINQステートメントを持っており、私はそれを正しく得ることができません。たぶん私はこれを正しい方法でやろうとはしていませんが、私はまだLINQに慣れていないので、オンラインで多くのヘルプを見つけることができませんでした。

これは重複を削除するためのものではありません。問題はありません。一部の結果が表示されないようにする必要があります。 (!のサブカテゴリ)私は、次の 文字列lowestPrice = siteCategory.SiteProducts.Where .Min(X => x.Price).ToString()を行うことを試みた

var subCategories = siteCategory.SiteSubCategories.Where(x => x.Active); 
string lowestPrice = siteCategory.SiteProducts.Min(x => x.Price).ToString(); 

。 は、私はので、私はちょうど私にはほとんど意味を成していた私が試したものを記載されている、私はまた、リストにはあまりにも多くのLINQ文の複数の他の組み合わせを、試してみたOperator '!' cannot be applied to operand of type 'IEnumerable'

というエラーを取得します。

誰かが私が間違っていることを理解するのに役立つことができますか?前もって感謝します。

+2

方法は、カテゴリと製品関連していますか? –

+0

検索しようとしているものと取り除こうとしているものが明確ではありません。あなたのsubCategories varには、すべてのアクティブなカテゴリのリストが含まれています。あなたは価格でどこに合っています..明確にしてください。 –

+0

申し訳ありませんが、カテゴリとカテゴリのみの商品に基づいて価格のリストを取得しようとしています。私が現在持っているリストは、サブカテゴリの製品から価格を引っ張っています。私は、サブカテゴリ内の製品から価格を排除する必要があります。 'var subCategories'をデバッグすると、良いサブカテゴリのリストが返されます。 'string lowestPrice'は各製品の最低価格を返しますが、私はlowestPriceにsubCategory内の商品を残すように伝える必要があります。 – jlg

答えて

0

ラムダに.Whereを使用する必要があります。コードのその部分は、製品のカテゴリを取得する適切な方法で

siteCategory.SiteProducts 
    .Where(product => !subCategories.contains(product.Category)) 
    .Min(x => x.Price).ToString() 

のようなものでなければなりません。私はproduct.Categoryを推測しました。あなたはその作品を自分で更新する必要があります。

0

データのモデル化の詳細はわかりませんが、ProductにはCategoryというプロパティがあります。そしてCategoryParentId NULL可能性を有していることを、あなたが行うことができます:

siteProducts 
    .Where(product => product.Category.ParentId == null) 
    .Min(product => product.Price) 
    .ToString(); 
関連する問題