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が発生します。 この動作は、これらの型で許容されると見なされます。 ただし、すべての文字列操作は、VARCHAR、NVARCHAR、VARCHAR(max)、およびNVARCHAR(max)の共通言語ランタイム (CLR) セマンティクスと一致する必要があります。