2012-08-01 4 views
-2

제품 및 주문이라는 두 개의 테이블이 있습니다. 내 projetc는 asp mvc3 프로젝트이며 Entity Framework에서 작업합니다. 제품에내 번호가 반올림되는 이유

, I 필드가 있습니다 위해 (19,2 숫자) 가격을, 나는 필드가 : 단가를 (숫자 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; } 
    } 

+2

내 마법의 수정 구슬이 오늘 가게에 있는데, 나는 심령술 101에 실패 했어. 그래서 내 마음 독서 능력은 특별히 덥지 않았다. 테이블 구조 (들) 및이 테이블을 삽입/업데이트하는 코드를 공유 할 수 있습니까? –

+1

물론 우리는 더 많은 정보가 필요합니다. 숫자? 십진수, int ..? 어떤 타입? 어떤 엔진? (나는 SQL 서버라고 가정합니다.) –

답변

0

저는 EF와 함께 작업합니다. 내가 뭘 잘못했는지 찾는다. 주문에 대한 내 모델에서 Range 속성을 추가하는 것을 잊어 버렸습니다.

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

잘 작동합니다.

1

는 당신이 Scale 값이 0으로 설정 한 마십시오 당신의 도움을 주셔서 감사합니다 내 모델 클래스가있다? 그렇다면 2 이상으로 설정하십시오.

enter image description here

그리고 당신이 저장 프로 시저를 사용 TEH 데이터를 저장하는 경우 저장 프로 시저의 매개 변수 유형은 또한 같은 종류인지 확인합니다.

+0

예 스케일이 있습니다. 숫자가 (19,4) – Alternative

+0

입니다. @Alternative : 값을 전달하는 모든 장소를 확인하고 변수 등을 사용하여 같은 데이터 유형을 사용하여 10 진수로 가격을 지원하는지 확인하십시오 point – Shyju

+0

모든 "가격"또는 "총"변수에 대해 동일한 데이터 유형을 사용하고 있습니다. 나는 내 대답에서 말했듯이 [Range (xx, xx)] 속성을 추가하여 문제를 해결했습니다. 나는 그것이 최선의 관행인지는 모르겠지만 작동한다. 어떻게 생각해 ? – Alternative

관련 문제