Я делал некоторые 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?