我正在使用实体框架迁移,并需要设置实体中十进制属性的精度和比例。 我只想针对此单个十进制属性执行此操作,而不是所有十进制属性。 我已经覆盖了 OnModelCreating 方法,将默认的十进制设置为(18,2)。 我需要此属性为(22,5)。 例如:
public class AdditionalCharge
{
public decimal? Rate { get; set; }
}
在数据库中,该列被创建为“decimal (18,2) NULL”。我需要将其变成“decimal (22,5) NULL”。
我可以创建一个空迁移并手动编写更改内容,
public override void Up()
{
AlterColumn("dbo.AdditionalCharge", "Rate", c => c.Decimal(nullable: true, precision: 22, scale: 5));
}
但我更愿意改变C#声明,让迁移创建更改。
有没有办法这样做?
Mike
modelBuilder.Entity<AdditionalCharge>().Property(o => o.Rate ).HasPrecision(22, 5);
看起来应该设置精度。迁移工具是否仅更改精度尚不确定,因此我同意重新打开它。 - D Stanley