商品リストを価格順に並べ替えようとしています。
結果セットでは、列ごとに製品を価格の低い順から高い順にリストする必要がありますLowestPrice
。ただし、この列は NULL 可能です。
次のようにリストを降順で並べ替えることができます。
var products = from p in _context.Products
where p.ProductTypeId == 1
orderby p.LowestPrice.HasValue descending
orderby p.LowestPrice descending
select p;
// returns: 102, 101, 100, null, null
しかし、これを昇順で並べ替える方法がわかりません。
// i'd like: 100, 101, 102, null, null
ベストアンサー1
両方の列を同じ orderby に配置してみてください。
orderby p.LowestPrice.HasValue descending, p.LowestPrice
それ以外の場合、各 orderby はコレクションに対する個別の操作となり、そのたびにコレクションの順序が変更されます。
これは、最初に値を持つものを順序付けし、次に値の順序付けを行う必要があります。