[英]Equivalent of time(7) SQL Server 2008 datatype in .NET
.NET中SQL Server 2008的time(7)
數據類型的等價物是什么? 我想在該列中單獨存儲小時和分鍾,因為我應該在SQL Server中使用哪種數據類型!
MSDN提供了SQL數據類型和CLR數據類型之間的映射 - 它也建議TimeSpan
和Nullable<TimeSpan>
(對於可空列)。 請注意,您訪問數據的方式將決定您實際獲取值的方式。 DbDataReader
沒有GetTimeSpan
方法 - 但是SqlDataReader
確實有這樣的方法 。 我希望LINQ to SQL或Entity Framework能夠自動執行映射。
從這個鏈接得到了一篇很好的文章。
我將使用dot net中的timespan數據類型作為SQL Server中time(7)數據類型的等效數據來存儲小時和分鍾。
正如Jon Skeet所說, Class SqlDataReader確實有一個GetTimeSpan方法
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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.