2012-07-02 2 views
2

현재 ASP.Net MVC3 프로젝트에서 작업 중입니다. 그래서 내 SQL 데이터베이스가 내가 만든 클래스를 기반으로 테이블의 생성이 설정하고 난 변수 예를 들어 null이 될 수 있도록 설정할 수있는 방법이 있는지 알고 있어야합니다ASP.Net MVC3 SQL Nullable

public class Cart 
    { 
     [Key] 
     public int RecordId { get; set; } 
     public string CartId { get; set; } 
     public int VideoId { get; set; } 
     public int CandyId { get; set; } 
     public int Count { get; set; } 
     public System.DateTime DateCreated { get; set; } 
     public virtual Video Video { get; set; } 
     public virtual Candy Candy { get; set; } 
    } 

인가가 VideoId와 Candy Id를 null로 설정할 수있는 방법이 있습니까? 그들이 지금 올라오고있는 방식은 다른 테이블에 대한 외래 키입니다. 모든 도움이 매우 높이 평가됩니다.

+1

'VideoId' *가 아닌 *'비디오 '테이블의 외래 키 여야합니까? –

답변

1

당신은 VideoId 할 수 CandyId 널 (NULL)은 ? 기호 사용 :

1) INT를 사용하여 속성을 선언 : 당신은 두 가지 옵션이 있습니다

public int? VideoId { get; set; } 
public int? CandyId { get; set; } 
+0

신의 축복이 케빈 !! * 이마에 위대한 큰 키스 * – user1496729

+0

권자! 다행이 당신과 행운을 위해 작동했습니다. –

0

를?

public int? VideoId { get; set; } 
public int? CandyId { get; set; } 

2) 일반 int를 사용하여 속성을 선언하지만 null 값을 얻을 때 일어날 일을 처리합니다. 첫 번째 옵션을 사용

VideoId = thisMightBeNull ?? 0; //?? means, if the variable is null then use 0 

은 새 변수에 동영상 ID 또는 CandyId을 할당 할 경우가 INT해야한다는 disadventage이있다?, 때로는 지저분한 가져옵니다. 두 번째 옵션을 사용하면 문제가 없지만 그 순간에 할당 할 항목 (기본값)을 처리해야 함을 의미합니다.