2008-09-25 7 views
0

논리적으로 부울 (비트)을 보유하지만 불행히도 정수로 구현 된 데이터베이스 열 "WantsReply"가 있습니다. 0이 아닌 값은 "예"를 의미하고 0은 "아니오"를 의미합니다. 내 모델에서ASP.NET MVC에서 모델을 작성하는 방법은 뷰의 확인란이 데이터베이스의 정수에 해당합니까?

class Entry { 
    [Column] public int WantsReply {get; set;} 
} 

을 쓰고, 내가보기를 제출할 때

Html.CheckBox("WantsReply", View.Model.WantsReply) 

다음 나는 변환 오류 사용하여 뷰에서 체크 박스에 매핑하는 경우

. 나는 다음 뷰가 작동 확인을 제출

[Column] public bool WantsReply {get; set;} 

쓰기하지만 난 어떻게 있도록이 임피던스 불일치를 해결할 수 있습니다

from entry in Entries select entry; 

같은 쿼리를 실행할 때 나는 다른 변환 오류가 발생하면 다른 한편으로 쿼리와 제출 모두 작동합니까?

답변

3

열 속성의 형식을 변경하는 대신 새 속성에 매핑하는 것이 좋습니다.

public partial class Entry { 
    public bool WantsReplyAsBool 
    { 
     get 
     { 
      return WantsReply != 0; 
     } 
     set 
     { 
      if (value) 
      { 
       WantsReply = 1; 
      } 
      else 
      { 
       WantsReply = 0; 
      } 
     } 
    } 
} 

정수 속성은 원한다면 개인이 될 수 있습니다. 보기에서 bool 속성을 사용하십시오.

관련 문제