質問: `BigInteger`クラスを使用してクラスに大きな整数を処理する必要がありますが、EntityFramework Coreを使用してDBテーブルにマップしようとすると、次のエラーが発生します。 > サポートされているプリミティブ型または有効なエンティティ型ではない`BigInteger`型であるため、 `AllianceRank.Reputation`プロパティをマップできませんでした。このプロパティを明示的にマップするか、無視してください。 > > ``` [Column("reputation")] public BigInteger Reputation { get; set; } ``` `BigIntegers`はマッピングのサポートされている型ではないようです。マップを強制するにはどうすればよいですか、そうでなければこの問題を解決できますか?
回答: Entity Frameworkは、その格納方法を前提にしなければなりません。あなたはSQLサーバーを使用している場合は、例えば、 `bigint`自分の価値観を持つことが可能です何よりも大きくても小さくても可能性があるため動作しません`bigint` 。 `varchar`はもっと適切でしょうか?可能であれば、あなたが本当に識別子ではなく数字であることを意味するならば、数字が問題になるとEFに問い合わせるように頼んでください。したがって、Entity Frameworkに格納する方法について推測を残していない`long`や`string`ような曖昧な型はあまりありません。