Я работал над отладкой отдельной проблемы и обнаружил, что для решения этой проблемы было бы полезно создать метод расширения, который принимает объект с данными c# и преобразует содержимое каждой из его строк. в серию операторов SELECT, извлекая данные из каждой ячейки и имя столбца каждого столбца, а затем помещая UNION ALL между ними как способ перестройки таблицы и всего ее содержимого.
В действительности, мы могли бы создать что-то вроде следующего, которое вы можете вставить в ssms, чтобы легко просмотреть содержимое:
SELECT "1-1-2020" as [CreateDate], 18 as [NumOfGuests]
UNION ALL
SELECT "1-2-2020" as [CreateDate], 48 as [NumOfGuests]
Я уже несколько раз ударил головой об этом и не нашел хорошего решения, так что далеко, любой и все входные данные или направление будут оценены.
ОБНОВЛЕНИЕ:
Чтобы ответить на вопрос Оливье относительно того, в чем конкретно проблема; Я думал о том, чтобы просмотреть содержимое таблицы следующим образом (у меня еще не было возможности проверить это), но я чувствую, что должно быть лучшее решение, чем то, которое я придумал.
public static string ParseDataColumns(this DataTable dataTable)
{
var sb = "";
if (dataTable.Columns.Count <= 0) return sb;
sb += "SELECT ";
foreach (DataRow row in dataTable.Rows)
{
foreach (DataColumn column in dataTable.Columns)
{
if (column.Ordinal != 0)
{
sb += ", " + row[column].ToString() + " AS [" + column.ColumnName + "]";
}
else
{
sb += row[column].ToString() + " AS [" + column.ColumnName + "]";
}
}
sb += "UNION ALL" + dataTable.TableName;
}
return sb.ToString();
}