2012-07-11 2 views
7

나는이 세터/게터 있습니다데이터베이스에서 null 값을 중심으로 클래스를 설계하는 방법은 무엇입니까? 내 수업에서

public int Id { get; set; } 
public String ProjectName { get; set; } 
public String ProjectType { get; set; } 
public String Description { get; set; } 
public String Status { get; set; } 
public DateTime StartDate { get; set; } 

날짜 시간은 nullable이 아닌 유형입니다. 따라서 클래스 생성자에 전달한 레거시 데이터베이스에서 데이터를 검색 할 때 StartDate가 null 일 때 오류가 발생합니다.

이 문제를 어떻게 해결해야합니까?

감사 에릭

답변

14

당신은 어떤 구조체 널 (NULL)이 .NET 2.0으로 시작 할 수 있습니다.

public DateTime? StartDate { get; set; } 

?에 주목하십시오. 해당 컴파일러 연산자를 Nullable<DateTime>합니다.

독자 밖으로 당겨, 당신은 여기에이

obj.StartDate = reader["StartDate"] as DateTime?; 

을 할 수있는 nullable 형식에 좀 더 정보입니다 : http://www.codeproject.com/Articles/275471/Nullable-Types-in-Csharp-Net

+0

@NominSim 아니 당신이이. 'DateTime'은 값 유형입니다. –

+0

와우. 네가 옳아. – NominSim

+0

@ DanielA.White ['Nullable '도 값 유형입니다.] (http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx)와 함께 사용하려면 몇 가지 특수 gubbin을 사용해야합니다 'as '처럼,'null'을 할당 할 수있게 해주는 동일한 gubbins 일 가능성이 있습니다. –