Logrando una ordenación consistente entre c # y SQL usando CollationInfo.Comparer
Estoy intentando usar CollationInfo.Comparer de SMO para hacer que mi código c # se ordene como SQL Server. He obtenido la intercalación correcta, pero mis elementos aún no se ordenan correctamente.
var collationInfo = CollationInfo.Collations.Single(x => x.Name == "SQL_Latin1_General_CP1_CS_AS") as CollationInfo;
var comparer = collationInfo.Comparer;
int c = comparer.Compare("Tri-Valley L", "Trimble L");
En este caso, c devuelve '1' indicando que Tri-Valley L vendrá después de Trimble.
Sin embargo este código en SQL Server
DECLARE @T TABLE
(
Name VARCHAR(20)
)
INSERT INTO @T
(
Name
)
VALUES('Tri-Valley L'),
('Trimble L')
SELECT
Name
FROM
@T
ORDER BY Name
Vuelve Tri-Valley antes de Trimble.
¿La comparación de cosas no funciona correctamente o estoy haciendo algo mal?