Как сортировать в .NET, как при сортировке SQL Server?

Я выполнял TDD для некоторых существующих хранимых процедур. Они возвращают XML, поэтому я использовал LINQ to XML.

В настоящее время я работаю над тестом, который докажет, что данные были отсортированы правильно. Тест проходит через XML и создает объект IEnumerable анонимного типа, содержащий три столбца, которые необходимо отсортировать. Исходя из этого, он создает второй IEnumerable, сортируя первый:

var sortedColumns = from g in columns
                    orderby g.ColumnA ascending,
                            g.ColumnB ascending,
                            g.ColumnC ascending
                    select g;

Наконец, он утверждает, что отсортированные столбцы такие же, как и несортированные с использованием SequenceEquals.

Проблема возникает, когда сопоставление базы данных отличается от текущего сопоставления. В частности, .NET помещает «W-» перед «Wa» в столбце B.

Есть ли способ сортировки в том же порядке, что и произвольное сопоставление SQL Server? Если нет, то как мне отсортировать в том же порядке, что и SQL_Latin1_General_CP1_CI_AS?

7
задан John Saunders 7 January 2011 в 13:38
поделиться