Я работаю над созданием пользовательского условия проверки базы данных в Visual Studio и пытаюсь проверить порядок сортировки.
У меня нет проблем с проверкой того, что строки в DataTable действительно отсортированы, но я также хочу убедиться, что в каждом столбце сортировки есть хотя бы одна группировка с более чем одним отдельным значением.
IЯ веду список целых чисел, которые определяют отсортированные столбцы (отрицательные целые числа указывают на нисходящий порядок сортировки - и абсолютное значение целого числа - номер столбца).
Позвольте уточнить.
Я пишу условие модульного теста, который проверяет отсортированный DataTable.Я могу проверить, что строка находится в правильном порядке сортировки, но я хочу убедиться, что результирующий набор содержит данные, которые фактически проверяют сортировку.Другими словами, результирующий набор только с одной строкой или любым количеством повторяющихся строк действительно сортируется, но это на самом деле не проверяет сортировку.
Мне нужно убедиться, что каждый уровень сортировки содержит по крайней мередва разных значения хотя бы в одной группе.
В прошлом я использовал комбинацию кода SQL и .Net и использовал следующий набор запросов, чтобы убедиться, что данных достаточно для проверки сортировки.
SELECT TOP 1 COUNT(DISTINCT column1)
FROM table
HAVING COUNT(DISTINCT column1) > 1
SELECT TOP 1 column1, COUNT(DISTINCT column2)
FROM table
GROUP BY column1
HAVING COUNT(DISTINCT column2) > 1
SELECT TOP 1 column1, column2, COUNT(DISTINCT column3)
FROM table
GROUP BY column1, column2
HAVING COUNT(DISTINCT column3) > 1
Где у меня есть запрос для каждого уровня, и все запросы должны возвращать непустой набор результатов для прохождения модульного теста.
Мой реальный вопрос - как мне продублировать / преобразоватьприведенный выше код SQL для LINQ?