Эквивалент времени (7) Тип данных SQL Server 2008 в .NET - PullRequest
4 голосов
/ 28 сентября 2011

Что эквивалентно типу time(7) SQL Server 2008 в .NET? Я хочу хранить часы и минуты отдельно в этом столбце, для этого какой тип данных я должен использовать в SQL Server!

Ответы [ 3 ]

6 голосов
/ 28 сентября 2011

MSDN дает сопоставление между типами данных SQL и типами данных CLR, а также предлагает TimeSpan и Nullable<TimeSpan> (для столбцов, допускающих значение NULL).Обратите внимание, что то, как вы получите доступ к данным, будет определять, как вы на самом деле получаете значение.Например, DbDataReader не имеет метода GetTimeSpan, но SqlDataReader имеет , имеет такой метод .Я ожидаю, что LINQ to SQL или Entity Framework выполнят сопоставление автоматически.

3 голосов
/ 28 сентября 2011

Получил хорошую статью от этой ссылки.

Я буду использовать тип данных timepan в точечной сети как эквивалент для типа данных time (7) на сервере SQL для хранения часов и минут.

0 голосов
/ 09 июля 2014

Как сказал Джон Скит, Класс 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...