Достижение согласованной сортировки между c # и SQL с использованием CollationInfo.Comparer
Я пытаюсь использовать CollationInfo.Comparer из SMO, чтобы мой код на c # сортировался как SQL Server. Я получил правильное сопоставление, но мои вещи все еще не сортируются правильно.
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");
В этом случае c возвращает «1»; указывая на то, что Tri-Valley L придет после Trimble.
Однако этот код в 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
Возвращает Tri-Valley перед Trimble.
Сравнение сравнивает вещи просто не работает правильно, или я делаю что-то не так?