Asset
エンティティのリストがあり、それぞれに次のような 2 つのプロパティを持つエンティティAsset
のリストがありますField
| Index | Value |
| 0 | "hello" |
| 1 | "blah" |
| 2 | null |
そしてループで変数を取得します
i = 2
とi = 3
そして、次を取得しようとAssets
するlinqクエリField
があります。Value
i
null
Field
Index
i
たとえば、i
が 2 の場合、上の表を持つアセットが返されます。これは、Field
2 が に対応する場所があるためnull
です。
そして、 が 3 の場合は、i
3 ではないため、上記も返す必要があります。Field
Index
このコードは機能します:
var assets = (from a in assets where
a.Fields.Any(x => x.Index == i && x.Value == null) select a)
.Union(from a in assets where
a.Fields.All(x => x.Index != i) select a)
.ToList();
これはあまりいいことではありません.1つのステートメントでそれを行う方法はあるのでしょうか?