2011-09-28 80 views

回答

3

this鏈接中收到了不錯的文章。

我將使用dotnet中的timespan數據類型作爲SQL服務器中時間(7)數據類型的等價物來存儲小時和分鐘。

6

MSDN給出了SQL數據類型和CLR數據類型之間的映射 - 它也建議TimeSpanNullable<TimeSpan>(對於可爲空的列)。請注意,您如何訪問數據將決定您如何實際獲取價值。例如DbDataReader沒有GetTimeSpan方法 - 但SqlDataReader確實有such a method。我希望LINQ to SQL或實體框架自動執行映射。

+0

+1您的清晰解釋!我會照此進行。 – banupriya

0

正如喬恩斯基特說,Class SqlDataReader確實有GetTimeSpan Method

conn = new SqlConnection(blablabla); 
conn.Open(); 

string sql = "SELECT * FROM MyTable"; 
SqlCommand sqlCommand = new SqlCommand(sql, conn); 

reader = sqlCommand.ExecuteReader(); 

while (reader.Read()) 
    { 
    MyVeryOwnModel mvom = new MyVeryOwnModel(); 
    mvom.timeStart = reader.GetTimeSpan(reader.GetOrdinal("column_time_start")); 
    mvom.timeEnd = reader.GetTimeSpan(reader.GetOrdinal("column_time_end")); 
    } 

reader.Close(); 
相關問題