Entity Framework コードの最初の 10 進数の精度とスケールのカスタマイズ
Entity Framework Code First では、10 進プロパティはデフォルトで精度 18、スケール 0 のデータベース列に設定されます。この制限は、データに必要な精度とスケールを実現するいくつかの方法を使用して克服できます。
EF 4.1 以降で利用できる一般的なアプローチでは、DecimalPropertyConfiguration.HasPrecision
メソッドを利用します。これにより、合計桁数 (精度) と小数点以下の桁数 (スケール) を正確に制御できます。
これはその使用法を示す例です:
<code class="language-csharp">public class EFDbContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<MyClass>().Property(e => e.MyDecimalProperty).HasPrecision(12, 10); base.OnModelCreating(modelBuilder); } }</code>
このコード スニペットは、MyDecimalProperty
エンティティの MyClass
を精度 12、スケール 10 に設定します。MyClass
と MyDecimalProperty
を実際のクラス名とプロパティ名に置き換えることを忘れないでください。 これにより、データベースの列がアプリケーションの要件を正確に反映するようになります。
以上が最初に EF コードで 10 進数の精度とスケールをカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。