Mik*_*art 2 c# entity-framework ef-migrations
我正在使用实体框架迁移,并且需要设置实体中十进制属性的精度和小数位数。我只想对此单个十进制属性(而不是所有十进制属性)执行此操作。我已经重写了OnModelCreating方法,以默认将小数设置为(18,2)。我需要此属性为(22,5)。例如
public class AdditionalCharge
{
public decimal? Rate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在数据库中被创建为“十进制(18,2)NULL”列。我需要它成为“十进制(22,5)NULL”列。
我可以创建一个空迁移并手动编码更改,
public override void Up()
{
AlterColumn("dbo.AdditionalCharge", "Rate", c => c.Decimal(nullable: true, precision: 22, scale: 5));
}
Run Code Online (Sandbox Code Playgroud)
但是我只想更改C#声明,然后让迁移创建更改。
有没有办法做到这一点?
麦克风
您还可以设置列的精度OnModelCreating:
modelBuilder.Entity<AdditionalCharge>().Property(o => o.Rate ).HasPrecision(22, 5);
Run Code Online (Sandbox Code Playgroud)
但是我不知道更改是否会在迁移中进行。
| 归档时间: |
|
| 查看次数: |
5208 次 |
| 最近记录: |