Rumah >pangkalan data >tutorial mysql >Bagaimana Anda Memetakan Jenis Panjang (ulong) Tidak Bertanda dalam Rangka Kerja Entiti?

Bagaimana Anda Memetakan Jenis Panjang (ulong) Tidak Bertanda dalam Rangka Kerja Entiti?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 18:35:30234semak imbas

How Do You Map Unsigned Long (ulong) Types in Entity Framework?

Pemetaan Integer Tidak Ditandatangani dan Jenis Panjang dalam Rangka Kerja Entiti

Pemetaan luar kotak Rangka Kerja Entiti untuk jenis data panjang adalah mencukupi untuk mewakili nilai panjang yang ditandatangani. Walau bagaimanapun, apabila berurusan dengan jenis panjang (ulong) yang tidak ditandatangani, perkara menjadi lebih rumit. Pembekal EF MySQL melangkau jenis data ulong secara lalai.

Penyelesaian untuk ulong

Dalam versi lama Rangka Kerja Entiti, jenis data yang tidak ditandatangani tidak disokong. Untuk mengatasi had ini untuk lajur ulong, penyelesaiannya ialah menyimpan nilai dalam jenis data panjang yang disokong dan menghantarnya ke ulong apabila diperlukan.

Untuk melaksanakan penyelesaian ini:

  • Cipta sifat dalaman __MyVariable dipetakan ke pangkalan data dan jenis panjang.
  • Buat harta awam MyVariable yang dikaitkan dengan [NotMapped], yang mewakili nilai panjang yang tidak ditandatangani.
  • Laksanakan pengambil dan penetap untuk MyVariable untuk melakukan casting yang diperlukan.
<code class="csharp">// Avoid modifying the following directly.
// Used as a database column only.
public long __MyVariable { get; set; }

// Access/modify this variable instead.
// Tell EF not to map this field to a Db table
[NotMapped]
public ulong MyVariable
{
    get
    {
        unchecked
        {
            return (ulong)__MyVariable;
        }
    }

    set
    {
        unchecked
        {
            __MyVariable = (long)value;
        }
    }
}</code>

Perhatikan bahawa operasi casting ditandakan sebagai tidak ditandai untuk mengelakkan sebarang kemungkinan pengecualian limpahan.

Atas ialah kandungan terperinci Bagaimana Anda Memetakan Jenis Panjang (ulong) Tidak Bertanda dalam Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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