簡體   English   中英

等效於時間(7).NET中的SQL Server 2008數據類型

[英]Equivalent of time(7) SQL Server 2008 datatype in .NET

.NET中SQL Server 2008的time(7)數據類型的等價物是什么? 我想在該列中單獨存儲小時和分鍾,因為我應該在SQL Server中使用哪種數據類型!

MSDN提供了SQL數據類型和CLR數據類型之間的映射 - 它也建議TimeSpanNullable<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM