Maison > Article > base de données > Comment mapper les types longs (ulong) non signés dans Entity Framework ?
Mappage des entiers non signés et des types longs dans Entity Framework
Le mappage prêt à l'emploi d'Entity Framework pour les types de données longs est suffisant pour représentant des valeurs longues signées. Cependant, lorsqu'il s'agit de types longs (ulong) non signés, les choses deviennent un peu plus compliquées. Le fournisseur EF de MySQL ignore les types de données ulong par défaut.
Solution pour ulong
Dans les anciennes versions d'Entity Framework, les types de données non signés n'étaient pas pris en charge. Pour contourner cette limitation pour les colonnes ulong, une solution de contournement consiste à stocker la valeur dans un type de données long pris en charge et à la convertir en ulong si nécessaire.
Pour mettre en œuvre cette solution :
<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>
Notez que les opérations de casting sont marquées comme non cochées pour éviter toute exception potentielle de débordement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!