LINQ to SQL 不支持以下 String 方法。
一般情况下不支持的 System.String 方法
一般情况下不支持的 String 方法:
区分区域性的重载(带有
CultureInfo/StringComparison/IFormatProvider的方法)。带有或生成
char数组的方法。
不支持的 System.String 静态方法
不支持的 System.String 非静态方法
| 不支持的 System.String 非静态方法 |
|---|
| String.IndexOfAny(Char[]) |
| String.Split |
| String.ToCharArray() |
| String.ToUpper(CultureInfo) |
| String.TrimEnd(Char[]) |
| String.TrimStart(Char[]) |
与 .NET 的差异
查询不考虑可能在服务器上生效的 SQL Server 排序规则,因而默认情况下将提供区分区域性和大小写的比较。 此行为不同于 .NET Framework 的默认区分大小写的语义。
LastIndexOf返回 0 时,可能字符串为NULL或找到的位置为 0。由于这些类型在数据库中自动应用了填充,对固定长度字符串(
CHAR,NCHAR)进行连接或其他操作时,可能会返回意外结果。由于许多方法(例如
Replace、ToLower、ToUpper)以及字符索引器,对于TEXT或NTEXT列和XML没有有效的翻译,正常翻译时会发生SqlExceptions。 对于这些类型,此行为被视为可接受的。 但是,所有字符串操作都必须与公共语言运行时(CLR)的VARCHAR、NVARCHAR、VARCHAR(max)和NVARCHAR(max)语义匹配。