System.TimeSpan 方法 (LINQ to SQL)

System.TimeSpan 的成员支持在很大程度上取决于您正在使用的 .NET Framework 和 Microsoft SQL Server 的版本。

当某个方法、运算符或属性不受支持时;这意味着 LINQ to SQL 将无法转换成员以在 SQL Server 上执行。 您可能仍可以在代码中使用这些成员。 不过,在将查询转换为 Transact-SQL 之前或在已经从数据库中检索结果之后,必须对这些成员进行计算。

以前的限制

将 LINQ to SQL 与 .NET Framework 3.5 SP1 之前的 .NET Framework 版本一起使用时,您无法将 SQL Server 数据库字段映射到 System.TimeSpan。 但是,支持对 TimeSpan 的操作,原因是可以通过 DateTime 减法运算返回 TimeSpan 值或将这些值作为文本或绑定变量引入表达式。

支持的 System.TimeSpan 方法支持

以下受 LINQ to SQL 支持的方法、运算符和属性可供您在 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()

注意注意

需要安装 .NET Framework 3.5 SP1 和更高版本,才能使用 LINQ to SQL 将 System.TimeSpan 映射到 SQL TIME 列。SQL TIME 数据类型仅在 Microsoft SQL Server 2008 和更高版本中提供。

加法和减法

尽管 CLR System.TimeSpan 类型支持加减运算,但 SQL TIME 类型不支持。 因此,将 LINQ to SQL 查询映射到 SQL TIME 类型后,如果这些查询尝试执行加减运算,则将生成错误。 您可以在 SQL-CLR 类型映射 (LINQ to SQL) 中找到有关使用 SQL 日期和时间类型的其他注意事项。

请参见

参考

SQL-CLR 类型映射 (LINQ to SQL)

其他资源

LINQ to SQL 中的查询概念

创建对象模型 (LINQ to SQL)

数据类型和函数 (LINQ to SQL)