2016-07-13 15 views
3

私は現在、このクエリに私の調査にLINQの構文どれ()

ListOfCars.Where(x => x.ListofParts.Any(y => y.PartIsDeleted == false)); 

を持って、この疑似オブジェクト

list<ListOfCars>{ 
    list<ListOfParts> 
} 

を持って、それが何かを返します。

私の質問はAnyAllを使用して3つの簡単な組み合わせがありますが、この

SELECT * FROM ListOfCars cars WHERE cars.ListOfParts.PartIsDeleted = false 
+0

を削除されません。とにかく 'Any'や' All'のような集計関数を使用する必要があります。 – Tommy

+0

はい、その理由はAny()ですが、Any()内の条件を満たす項目がない場合は何も返しません。 – user3770093

+0

'Any'手段その条件を満たす少なくとも1つ。 – Tommy

答えて

3

のようなもののための構文は何かということです。

  1. どれ
  2. すべて
  3. なし

は、あなたがしたいんクリスタルクリアしていません。


ListofPartsの少なくとも1つは削除されません。

ListOfCars.Where(x => x.ListofParts.Any(y => y.PartIsDeleted == false)); 

ListofPartsのすべてが削除されていないListofParts

ListOfCars.Where(x => x.ListofParts.All(y => y.PartIsDeleted == false)); 

どれも `ListOfParts`がリストである

ListOfCars.Where(x => x.ListofParts.Any(y => y.PartIsDeleted) == false); 
+0

私はあなたのコードがポスターでも同じだと思うし、彼はそれに問題があると言います – MichaelMao

+0

私は3番目のものがうまくいくかもしれないと思います。 – user3770093

+0

こんにちは、トミー、第3の1つは働いた!なぜ、私は、Any(y => y.PartIsDeleted == false)とAny(y => y.PartIsDeleted)== falseの違いを見ないように思われますか? – user3770093

関連する問題