2012-07-11 16 views
7

Bunları belirleyiciler/alıcılar vardır:Veritabanından boş değerler etrafında sınıf nasıl tasarlanır? Benim sınıfımda

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; } 

DateTime null olmayan bir türüdür. Bu yüzden, veri tabanımdaki verileri sınıf kurucusuna aktardığım veri tabanımdan aldığımda, StartDate null olduğunda bir hata alıyorum.

Bu konuyla ilgili tasarım yapmaya nasıl başlamalıyım?

Teşekkür Eric

cevap

14

herhangi yapı null NET 2.0 ile başlayan yapabilirsiniz.

public DateTime? StartDate { get; set; } 

?'a dikkat edin. Onun bir derleyici operatör Nullable<DateTime> yapmak.

okuyucudan çekerek, sen İşte bu

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

yapabilirsiniz null türleri üzerinde birtakım bilgiler verilmiştir: http://www.codeproject.com/Articles/275471/Nullable-Types-in-Csharp-Net

+0

@NominSim Hayır yapmanız. 'DateTime' bir değer türüdür. –

+0

Whoops. Haklısın. – NominSim

+0

@ DanielA.White ['Nullable ' aynı zamanda bir değer türüdür] (http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx), ancak bazı özel gubbinlerle birlikte kullanılmalıdır. 'gibi', muhtemelen ona 'null' atamak için izin veren aynı gubbins. –