ホームページ > データベース > mysql チュートリアル > LINQ クエリでの Null 処理のために SQL の ISNULL 関数をレプリケートするにはどうすればよいですか?

LINQ クエリでの Null 処理のために SQL の ISNULL 関数をレプリケートするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-30 16:05:14
オリジナル
533 人が閲覧しました

How Can I Replicate SQL's ISNULL Function for Null Handling in LINQ Queries?

LINQ クエリでの Null 処理: SQL の ISNULL と同等

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート