Metodi System.String (LINQ to SQL)
In LINQ to SQL non sono supportati i metodi String riportati di seguito.
Metodi System.String non supportati in generale
Metodi String non supportati in generale:
Overload con il supporto 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 statici non supportati |
---|
String.Compare(String, Int32, String, Int32, Int32, Boolean) |
String.Compare(String, Int32, String, Int32, Int32, Boolean, CultureInfo) |
Metodi System.String non statici non supportati
Metodi System.String non statici non supportati |
---|
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 colonne TEXT o NTEXT e XML, se vengono convertiti normalmente si verifica un'eccezione SqlExceptions. Questo comportamento viene considerato accettabile per questi tipi. Tuttavia è necessario che tutte le operazioni stringa corrispondano alla semantica Common Language Runtime (CLR) per VARCHAR, NVARCHAR, VARCHAR(max) e NVARCHAR(max).