私は MVC 4 アーキテクチャ .net プロジェクトに取り組んでいます。decimal パラメータのデフォルトの精度は (18,2) です。いくつかの移行変更を行い、(18,6) に変更しました。そのため、データベースは小数点以下6桁のスケール範囲を保存しますが、問題は設定された値を問題なく保存していないことです。2 桁のみを選択し、残りの 0000 を 6 まで追加します。
たとえば、ユーザーが 45.233222 を送信した場合、データベースに保存される値は 45.230000 です。データベースへの手動入力は完全に正常に機能します。私はこのことに取り組んでいる初心者です...だから、データベースに6桁の精度で格納されるように、10進数パラメータのデフォルトの精度を変更する方法を提案してください。
私が行った移行の変更。
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));
}