Поделиться через


Методы System.TimeSpan (LINQ to SQL)

Обновлен: November 2007

Поддержка элементов типа System.TimeSpan в значительной степени зависит от используемых версий платформы .NET Framework и сервера Microsoft SQL Server.

Если метод, оператор или свойство не поддерживаются, это означает, что LINQ to SQL не может перевести элемент для выполнения на SQL Server. Но эти элементы, тем не менее, можно использовать в коде. Однако их следует вычислять до преобразования запроса в Transact-SQL или после получения результатов из базы данных.

Предыдущие ограничения

При использовании LINQ to SQL с версиями платформы .NET Framework, выпущенными до .NET Framework 3.5 с пакетом обновления 1 (SP1), невозможно сопоставлять поля баз данных SQL Server типу System.TimeSpan. При этом операции с типом TimeSpan поддерживаются, поскольку значения TimeSpan могут возвращаться операцией вычитания DateTime или входить в выражение в виде литерала или привязанной переменной.

Поддержка поддерживаемого метода System.TimeSpan

Следующие поддерживаемые в LINQ to SQL методы, операторы и свойства доступны для использования в запросах LINQ to SQL. После их сопоставления в модели объектов или внешнем файле сопоставления LINQ to SQL позволяет использовать многие элементы System.TimeSpan внутри запросов LINQ to SQL.

Поддерживаемые методы TimeSpan

Поддерживаемые операторы TimeSpan

Поддерживаемые свойства TimeSpan

Compare

Equality

Days

CompareTo(TimeSpan)

GreaterThan

Hours

Duration

GreaterThanOrEqual

MaxValue

Equals(TimeSpan, TimeSpan)

Inequality

Milliseconds

Equals(TimeSpan)

LessThan

Minutes

LessThanOrEqual

MinValue()

Bb882662.alert_note(ru-ru,VS.90).gifПримечание.

Чтобы сопоставлять тип System.TimeSpan столбцам SQL типа TIME с помощью LINQ to SQL, необходима платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и выше. Тип данных SQL TIME доступен только в версиях Microsoft SQL Server 2008 и выше.

Сложение и вычитание

Хотя тип CLR System.TimeSpan поддерживает сложение и вычитание, тип SQL TIME их не поддерживает. Поэтому запросы LINQ to SQL будут вызывать ошибки при попытке выполнить сложение или вычитание, когда они сопоставлены с типом SQL TIME. Дополнительные сведения о работе с типами данных дат и времени SQL см. в разделе Сопоставление типов SQL и CLR (LINQ to SQL).

См. также

Ссылки

Сопоставление типов SQL и CLR (LINQ to SQL)

Другие ресурсы

Основные понятия о запросах в LINQ to SQL

Создание модели объектов (LINQ to SQL)

Типы данных и функции (LINQ to SQL)