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)
语义匹配。