DecimalPropertyConvention
預設情況下,Entity Framework 將十進位制屬性對映到資料庫表中的十進位制(18,2)列。
public class Box
{
public int Id { set; get; }
public decimal Length { set; get; }
public decimal Width { set; get; }
public decimal Height { set; get; }
}
我們可以改變小數屬性的精度:
1.使用 Fluent API:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Box>().Property(b => b.Width).HasPrecision(20, 4);
}
只有寬度屬性對映到十進位制(20,4)。
2.更換慣例:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<DecimalPropertyConvention>();
modelBuilder.Conventions.Add(new DecimalPropertyConvention(10, 4));
}
每個十進位制屬性都對映到十進位制(10,4)列。