更新:November 2007
因为 LINQ to SQL 查询转换为 Transact-SQL 后才在 Microsoft SQL Server 上执行。LINQ to SQL 支持针对基本数据类型的许多和 SQL Server 一样的内置功能。
强制转换
支持从源 CLR 类型到目标 CLR 类型的隐式或显式强制转换,前提是在 SQL Server 中存在类似的有效转换。有关 CLR 强制转换的更多信息,请参见 CType 函数 (Visual Basic) 和 as(C# 参考)。转换后,强制转换会更改对 CLR 表达式执行的操作的行为,使之与自然映射到目标类型的其他 CLR 表达式的行为匹配。强制转换还可以在继承映射的上下文中进行。可以将对象强制转换成更具体的实体子类型,以便可以访问其特定于子类型的数据。
相等运算符
LINQ to SQL 支持以下 LINQ to SQL 查询内部的基本数据类型上的相等运算符:
相等和不相等运算符:支持对数值 Boolean、DateTime 和 TimeSpan 类型的相等和不相等运算符。有关 Visual Basic 运算符 = 和 <> 的更多信息,请参见 比较运算符 (Visual Basic)。有关 C# 比较运算符 == 和 != 的更多信息,请分别参见 == 运算符(C# 参考) 和 != 运算符(C# 参考)。
Is 运算符:在使用继承映射时,IS 运算符具有受支持的转换形式。可以使用该运算符,而不用通过直接测试鉴别器列来确定对象是否属于特定实体类型,该运算符会转换为对鉴别器列的检查。有关 Visual Basic 和 C# Is 运算符的更多信息,请参见 Is 运算符 (Visual Basic) 和 is(C# 参考)。