在实体框架中映射无符号整数和长类型
实体框架对长数据类型的现成映射足以满足代表有符号长整型值。然而,当处理无符号长(ulong)类型时,事情会变得有点复杂。 MySQL 的 EF 提供程序默认跳过 ulong 数据类型。
ulong 的解决方案
在旧版本的 Entity Framework 中,不支持无符号数据类型。要解决 ulong 列的此限制,一种解决方法是将值存储在支持的 long 数据类型中,并在需要时将其转换为 ulong。
要实现此解决方案:
<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>
请注意,转换操作被标记为未选中,以防止任何潜在的溢出异常。
以上是如何在实体框架中映射无符号长 (ulong) 类型?的详细内容。更多信息请关注PHP中文网其他相关文章!