[C#.NET][Entity Framework] Code First , mapping decimal/numeric precision and scale
小筆記
ColumnAttribute 可以讓我們自己指定最後對應到 SQL Server 的資料型態,不過,在.NET的資料型態需要是 decimal
[Column(TypeName = "numeric")]
public decimal D { get; set; }
當我嘗試自訂精密度時,如下,會報錯
[Column(TypeName = "numeric(3,2)")]
public decimal D { get; set; }
例外訊息如下:
最後利用 DecimalPropertyConfiguration.HasPrecision 方法,完成自定浮點數的精密度的需求
public class MyDbContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Account>().Property(o => o.D)
.HasPrecision(3, 2)
.HasColumnType("numeric");
}
}
文章出自:http://www.dotblogs.com.tw/yc421206/archive/2014/08/11/146227.aspx
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET