-2

Product と Order の 2 つのテーブルがあります。私のプロジェクトはasp mvc3プロジェクトで、Entity Frameworkを使用しています。

製品には、次のフィールドがあります: 価格 (数値 19,2) 順番に、次のフィールドがあります: UnitPrice (数値 19,2)

この価格は同じである必要がありますが、注文テーブルでは数値が四捨五入されている点が異なります。

理由は?

私のモデルクラスがあります

public class Product
    {
        [ScaffoldColumn(false)]
        public int      ProductId   { get; set; }

        [StringLength(160)]
        public string   Name        { get; set; }

        [DisplayName("Description")]
        [StringLength(200)]
        public string   Description { get; set; }

        [Required(ErrorMessage="error")]
        [Range(0.00, 10000.00, ErrorMessage="Error")]
        public decimal   Price       { get; set; }

        public virtual List<OrderDetail> Order { get; set; }
    }


  public class Order
    {

        public int OrderId { get; set; }
        public int ProductId { get; set; }
        public int Quantity { get; set; }

        public decimal UnitPrice { get; set; }

        public virtual Product Product { get; set; }
        public virtual Order Order { get; set; }
    }

ご協力ありがとうございました

4

2 に答える 2

1

Scale値を 0 に設定していますか? はいの場合は、2 以上に設定します。

ここに画像の説明を入力

また、ストアド プロシージャを使用してデータを保存する場合は、ストアド プロシージャのパラメータ タイプも同じタイプであることを確認してください。

于 2012-08-01T14:21:49.533 に答える
0

私はEFで働いています。私が見つけたものは何でも、何が間違っていたのか。Order のモデルで、Range 属性を追加するのを忘れていました。

[Range(0.00, 100000.00)]  
public decimal UnitPrice { get; set; }

それは正常に動作します。

于 2012-08-01T14:28:53.270 に答える