[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