我正在开发一个 MVC 4 架构 .net 项目。十进制参数的默认精度为 (18,2)。我做了一些迁移更改并将其更改为 (18,6)。所以现在数据库在小数点后存储 6 位数的刻度范围。但问题是它没有存储有问题的值。它只选择 2 位数字,然后将 0000 附加到 6 位。
例如:如果用户发送 45.233222,则存储在数据库中的值为 45.230000。手动输入数据库工作得很好。我是新手,正在研究这些东西......所以请建议如何更改十进制参数的默认精度,以便它在数据库中以六位精度存储。
我所做的迁移更改。
public override void Up()
{
AlterColumn("dbo.TItems", "SubTotal", c => c.Decimal(nullable: false, precision: 18, scale: 6));
AlterColumn("dbo.TItems", "UnitPrice", c => c.Decimal(nullable: false, precision: 18, scale: 6));
}
public override void Down()
{
AlterColumn("dbo.TItems", "SubTotal", c => c.Decimal(nullable: false, precision: 18, scale: 2));
AlterColumn("dbo.TItems", "UnitPrice", c => c.Decimal(nullable: false, precision: 18, scale: 2));
}