Metodi System.String
LINQ to SQL non supporta i metodi String seguenti.
Metodi System.String non supportati in generale
Metodi String non supportati in generale:
Overload con riconoscimento delle impostazioni cultura (metodi che accettano
CultureInfo
/StringComparison
/IFormatProvider
).Metodi che accettano o producono una matrice
char
.
Metodi System.String statici non supportati
Metodi System.String non statici non supportati
Metodi System.String non statici non supportati |
---|
String.IndexOfAny(Char[]) |
String.Split |
String.ToCharArray() |
String.ToUpper(CultureInfo) |
String.TrimEnd(Char[]) |
String.TrimStart(Char[]) |
Differenze rispetto a .NET
Nelle query non vengono considerate le regole di confronto di SQL Server eventualmente attive sul server pertanto, per impostazione predefinita, verranno restituite regole di confronto dipendenti dalle impostazioni cultura e senza distinzione fra maiuscole e minuscole. Questo comportamento differisce dalla semantica predefinita con distinzione tra maiuscole e minuscole di .NET Framework.
Quando
LastIndexOf
restituisce 0, significa che la stringa èNULL
o che la posizione trovata è 0.È possibile che vengano restituiti risultati imprevisti dalla concatenazione o da altre operazioni sulle stringhe a lunghezza fissa (
CHAR
,NCHAR
), poiché a questi tipi viene applicata automaticamente la spaziatura interna nel database.Poiché molti metodi, ad esempio
Replace
,ToLower
,ToUpper
e l'indicizzatore del carattere, non dispongono di una conversione valida per le colonneTEXT
oNTEXT
e XML, se vengono convertiti normalmente si verifica un'eccezioneSqlExceptions
. Questo comportamento viene considerato accettabile per questi tipi. Tuttavia è necessario che tutte le operazioni stringa corrispondano alla semantica Common Language Runtime (CLR) perVARCHAR
,NVARCHAR
,VARCHAR(max)
eNVARCHAR(max)
.