私はトランザクションオブジェクトのリストを持っており、ユーザが現在表示されているビューに応じて特定の条件でそれらを注文したい。LINQでカラムがnullの場合、 'where'と 'order by'条件を無視する方法
問題は、where句に条件を追加するために、まずヌルポインタの例外を防ぐためにnullかどうかを確認する必要があることです。これにより、フィルタリングされている列nullのレコードが生成されます(リストの一番下にそれらを含めたい)。
クエリが変更され、その列がnullで結果セットに追加されたままの状態(場所と順序)が無視されるようにするにはどうすればよいですか?
これは、1つのサンプルクエリです:
transactions = transactions
.Where(t => t.PurchaseRequisition != null &&
t.Award != null && t.PurchaseRequisition.RequisitionedBy != null)
.OrderBy(t => t.Award.ContractNumber).
ThenBy(t => ToSafeString(t.Award.ContractNumber)).
ThenBy(t => ToSafeString(t.PurchaseRequisition.RequisitionedBy.FullName));
public string ToSafeString(string s)
{
return s ?? String.Empty;
}
//私はPurchaseRequisitionまたは賞は、結果セットに追加することがnullのレコードをしたいです。
どうすれば結果セットの一部のみを注文できますか?あなたは2つの質問が必要だと思います。 –