2015-04-17 33 views
0

當數據庫值'CompletionDate'爲空時。我得到的錯誤:指定的演員表無效如何將SQL DateTime Null投射到c#'DateTime?' (可空的<DateTime>)?

我以爲用'DateTime?'與問號將允許這個演員工作。

有什麼建議嗎?

public class Application 
{ 
    public int Id; 
    public DateTime? CompletionDate; 

    private static Application LoadFromDatabase(int id) 
    { 
     DataRow dr = null; // Loaded from database 

     return new Application() 
     { 
      Id = (int) dr["ApplicationId"], 
      CompletionDate = (DateTime?)dr["CompletionDate"] 
     }; 
    } 
} 

回答

1

我通常做的是使用三元運算符。這裏是一個例子:

CompletionDate = !dr.IsNull("CompletionDate") ? (DateTime)dr["CompletionDate"] : new DateTime?();