2011-09-28 78 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(); 
相关问题