次の方法で共有


System.TimeSpan メソッド

System.TimeSpan のメンバー サポートは、使用している .NET Framework と Microsoft SQL Server のバージョンに大きく依存します。

メソッド、演算子、またはプロパティがサポートされていなければ、LINQ to SQL でメンバーを変換して SQL Server で実行することができません。 それでもこれらのメンバーをコードで使用することはできますが、 クエリが Transact-SQL に変換される前か、データベースから結果が取得された後で評価する必要があります。

以前の制限

.NET Framework 3.5 SP1 より前のバージョンの .NET Framework で LINQ to SQL を使用すると、SQL Server のデータベース フィールドを System.TimeSpan にマッピングできません。 ただし、TimeSpan 値を TimeSpan 減算から返したり、リテラル変数またはバインド変数として式に取り込んだりできるため、DateTime の操作はサポートされています。

サポートされている System.TimeSpan メンバーのサポート

LINQ to SQL でサポートされている以下のメソッド、演算子、およびプロパティは、LINQ to SQL のクエリで使用できます。 オブジェクト モデルまたは外部マッピング ファイルにマッピングされると、LINQ to SQL クエリ内で System.TimeSpan メンバーの多くを呼び出すことができます。

サポートされている TimeSpan メソッド サポートされている TimeSpan 演算子 サポートされている TimeSpan プロパティ
Compare Equality Days
CompareTo(TimeSpan) GreaterThan Hours
Duration GreaterThanOrEqual MaxValue
Equals(TimeSpan, TimeSpan) Inequality Milliseconds
Equals(TimeSpan) LessThan Minutes
LessThanOrEqual MinValue

Note

LINQ to SQL で System.TimeSpan を SQL の TIME 列にマッピングする機能を使用するには、.NET Framework 3.5 SP1 以降が必要です。 SQL の TIME データ型は Microsoft SQL Server 2008 以降でのみ使用可能です。

加算と減算

加算と減算は、CLR の System.TimeSpan 型ではサポートされていますが、SQL の TIME 型ではサポートされていません。 そのため、LINQ to SQL クエリにより、SQL の TIME 型にマッピングしたときに加算や減算を試みると、エラーが発生します。 SQL の日付/時刻型の操作に関するその他の注意点については、「SQL と CLR の型マッピング」を参照してください。

関連項目