Entity Framework での符号なし整数型と Long 型のマッピング
Entity Framework の Long データ型に対するすぐに使用できるマッピングは、次の場合に十分です。符号付きのlong値を表します。ただし、unsigned long (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>
潜在的なオーバーフロー例外を防ぐために、キャスト操作は未チェックとしてマークされていることに注意してください。
以上がEntity Framework で符号なし Long (ulong) 型をどのようにマップしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。