Bagaimanakah Saya Boleh Memetakan Hartanah `ulong` ke Bigint Tidak Ditandatangani MySQL dalam Rangka Kerja Entiti?

Susan Sarandon
Lepaskan: 2024-11-03 04:51:02
asal
802 orang telah melayarinya

How Can I Map `ulong` Properties to MySQL's Unsigned Bigint in Entity Framework?

Memetakan Integer Tidak Ditandatangani dan Long dalam Rangka Kerja Entiti

Pendekatan pertama kod Rangka Kerja Entiti menyediakan pemetaan sifat yang lancar ke lajur pangkalan data. Walau bagaimanapun, pembekal EF MySQL tidak menyokong jenis data ulong, menyebabkan pembangun tertanya-tanya bagaimana untuk memetakan sifat tersebut kepada bigint MySQL yang tidak ditandatangani.

Penyelesaian:

Secara tradisional , Rangka Kerja Entiti tidak mempunyai sokongan untuk jenis data yang tidak ditandatangani. Walau bagaimanapun, untuk lajur uint, pembangun boleh menyimpan nilai dalam jenis data bertandatangan julat yang lebih besar seperti panjang. Tetapi untuk lajur ulong, tiada jenis data bertandatangan yang disokong EF yang boleh menghalang limpahan.

Untuk menangani perkara ini, pembangun boleh memanfaatkan penyelesaian yang bijak: simpan data dalam lajur panjang dalam pangkalan data dan hantarkannya ke ulong apabila mengakses hartanah. Ini berfungsi kerana kedua-dua panjang dan ulong ialah jenis data 8-bait.

<code class="csharp">// As a database column only. Do not modify directly.
public long __MyVariable { get; set; }

// Access and modify this variable instead.
[NotMapped]
public ulong MyVariable
{
    get
    {
        unchecked
        {
            return (ulong)__MyVariable;
        }
    }

    set
    {
        unchecked
        {
            __MyVariable = (long)value;
        }
    }
}</code>
Salin selepas log masuk

Nota: Casting tanpa tanda digunakan untuk mengelakkan pengecualian limpahan.

Penyelesaian ini membenarkan pembangun untuk menggunakan pembolehubah ulong dengan Rangka Kerja Entiti dengan berkesan, menyediakan penyelesaian untuk kekurangan sokongan asli untuk jenis data yang tidak ditandatangani.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memetakan Hartanah `ulong` ke Bigint Tidak Ditandatangani MySQL dalam Rangka Kerja Entiti?. 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