SQL では、ISNULL 関数は、指定された置換で null 値を置き換えることによって null 値を処理する方法を提供します。この機能を LINQ クエリで複製するには、Null 許容条件演算子 ('??') を使用できます。
たとえば、Null 許容列 (xx.Online) を含む次の LINQ クエリを考えてみましょう:
var hht = from x in db.HandheldAssets join a in db.HandheldDevInfos on x.AssetID equals a.DevName into DevInfo from aa in DevInfo.DefaultIfEmpty() select new { AssetID = x.AssetID, Status = xx.Online };
xx.Online が null の場合を処理するには、null 許容の条件演算子を次のように使用できます。
select new { AssetID = x.AssetID, Status = aa == null ? (bool?)null : aa.Online; // a Nullable<bool> }
ここでは、aa が null かどうかを確認し、null であれば Status を null に設定し、そうでない場合は aa.Online の値に設定します。これにより、Status 列に null 以外の値が含まれないことが保証されます。
デフォルト値を null ではなく false に設定したい場合は、次を使用できます:
select new { AssetID = x.AssetID, Status = aa == null ? false : aa.Online; }
Null 許容の条件演算子を LINQ クエリに組み込むことで、Null 値を効果的に処理し、結果の一貫性と正確性を保証できます。
以上がLINQ クエリでの Null 処理のために SQL の ISNULL 関数をレプリケートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。