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