"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo asigna los tipos de Long (Ulong) sin firmar en el marco de la entidad?

¿Cómo asigna los tipos de Long (Ulong) sin firmar en el marco de la entidad?

Publicado el 2025-03-23
Navegar:541

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

Mapping Integer Unsigned y tipos largos en Entity Framework

La asignación de mapeación de la caja de Entity Framework para los tipos de datos largos es suficiente para representar los valores largos firmados. Sin embargo, cuando se trata de tipos de Long (Ulong) sin firmar, las cosas se vuelven un poco más complicadas. El proveedor EF de MySQL omite los tipos de datos de Ulong de forma predeterminada.

Solución para ulong

en versiones anteriores del marco de la entidad, no fueron compatibles con los tipos de datos sin firmar. Para trabajar en torno a esta limitación para las columnas de Ulong, una solución es almacenar el valor en un tipo de datos largo compatible y colocarlo a Ulong cuando sea necesario.

para implementar esta solución:

  • Crear una propiedad interna mapeada a la propiedad de la base de datos y de tipo. [NotMapped], que representa el valor largo sin firmar.
  • implementa un getter y setter para que myVariable realice el casting necesario.
// Evite modificar el siguiente directamente. // utilizado solo como columna de base de datos. público largo __myvariable {get; colocar; } // Acceso/modifica esta variable en su lugar. // Dígale a EF que no asigne este campo a una tabla de DB [No mimado] público ulong myvariable { conseguir { desenfrenado { return (ulong) __ myVariable; } } colocar { desenfrenado { __Myvariable = (largo) valor; } } }
// 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;
        }
    }
}
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3