2010-05-03 3 views
2

I 형 Int32의 값에 대한 열이있는 강력한 형식의 데이터 테이블을 가지고 있고,이 열이 널 (null)을 허용하는 경우 나 값이 null 행이 작업을 수행하면, 나는 예외를 얻을 것이다 :Null 허용 값을 사용하도록 강력한 형식의 데이터 집합을 구성 할 수 있습니까?

int value = row.CustomValue; 

대신 나는이 작업을 수행해야합니다 알 물론

int? value = row.CustomValue; 

내가 수 :

이상적으로
if (!row.IsCustomValueNull()) { 
    int value = row.CustomValue; 
    // do something with this value 
} 

내가이 일을 할 수 있도록하고 싶습니다 방법은 내 자신의 방법을 작성, GetCustomValueOrNull과 같은; 열 자체에 대해 자동으로 생성 된 속성이 단순히 nullable을 반환하면 바람직합니다. 이것이 가능한가?

답변

1

불행히도 이것은 지원되지 않습니다.

그러나이 같은 자신의 래퍼 속성을 만들 수 있습니다

public int? CustomValue { 
     get { return IsCustomValueqlNull() ? new int?() : CustomValueSql; } 
     set { 
      if (value == null) 
       SetCustomValueSqlNull(); 
      else 
       CustomValueSql = value.Value; 
     } 
    } 

CustomValueSql는 실제로 열 이름입니다.