gpt4 book ai didi

c# - EF Code First 中的小数精度和小数位数

转载 作者:IT王子 更新时间:2023-10-29 03:29:32 25 4
gpt4 key购买 nike

我正在试验这种代码优先的方法,但我现在发现 System.Decimal 类型的属性被映射到 decimal(18, 0) 类型的 sql 列。

如何设置数据库列的精度?

最佳答案

Dave Van den Eynde 的回答现已过时。有 2 个重要变化,从 EF 4.1 开始,ModelBuilder 类现在是 DbModelBuilder现在有一个 DecimalPropertyConfiguration.HasPrecision 方法,其签名为:

public DecimalPropertyConfiguration HasPrecision(
byte precision,
byte scale )

其中 precision 是数据库将存储的总位数,无论小数点落在何处,scale 是它将存储的小数位数。

因此不需要像所示那样遍历属性,而是可以从

中调用
public class EFDbContext : DbContext
{
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Class>().Property(object => object.property).HasPrecision(12, 10);

base.OnModelCreating(modelBuilder);
}
}

关于c# - EF Code First 中的小数精度和小数位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com