Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Meniru Fungsi ISNULL SQL untuk Pengendalian Null dalam Pertanyaan LINQ?

Bagaimanakah Saya Boleh Meniru Fungsi ISNULL SQL untuk Pengendalian Null dalam Pertanyaan LINQ?

Mary-Kate Olsen
Lepaskan: 2024-12-30 16:05:14
asal
533 orang telah melayarinya

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

Pengendalian Null dalam Pertanyaan LINQ: Setara dengan ISNULL SQL

Dalam SQL, fungsi ISNULL menyediakan cara untuk mengendalikan nilai nol dengan menggantikannya dengan penggantian yang ditentukan. Untuk meniru fungsi ini dalam pertanyaan LINQ, pengendali bersyarat nullable ('??') boleh digunakan.

Sebagai contoh, pertimbangkan pertanyaan LINQ berikut dengan lajur boleh nullable (xx.Online):

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
        };
Salin selepas log masuk

Untuk mengendalikan kes di mana xx.Online adalah batal, kami boleh menggunakan pengendali bersyarat boleh batal sebagai berikut:

select new {
    AssetID = x.AssetID,
    Status = aa == null ? (bool?)null : aa.Online; // a Nullable<bool>
}
Salin selepas log masuk

Di sini, kami menyemak sama ada aa adalah batal, dan jika ia, kami menetapkan Status kepada batal, jika tidak, kami menetapkannya kepada nilai aa.Online. Ini memastikan bahawa lajur Status tidak akan mempunyai sebarang nilai yang tidak boleh dibatalkan.

Jika kita ingin menetapkan nilai lalai kepada palsu dan bukannya null, kita boleh menggunakan yang berikut:

select new {
    AssetID = x.AssetID,
    Status = aa == null ? false : aa.Online;
}
Salin selepas log masuk

Dengan memasukkan pengendali bersyarat nullable dalam pertanyaan LINQ kami, kami boleh mengendalikan nilai nol dengan berkesan dan memastikan keputusan kami konsisten dan tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meniru Fungsi ISNULL SQL untuk Pengendalian Null dalam Pertanyaan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan