Как вы сравниваете структуру набора данных в ado .net?

Мне нужно сравнить структуру таблицы двух наборов данных, чтобы проверить наличие расхождений, возможно ли это?

У меня было преобразование в XML и сравнение, но есть ли лучший способ?

Спасибо


person Rigobert Song    schedule 27.04.2009    source источник


Ответы (3)


Я думаю, что это сильно зависит от того, что вы хотите сделать. Если вы хотите просто визуализировать различия, я бы использовал XML и инструмент для просмотра различий.

Если вы хотите увидеть, отличаются ли они и, возможно, отобразить краткий список измененных полей (все это внутри приложения), вы также можете использовать XML-представление схемы или сделать, как упомянул Адамс Робинсон. По сути, независимо от того, как вы это сделаете, вам все равно придется перебирать таблицы и поля, поэтому вы также можете получить к ним прямой доступ, а не преобразовывать их сначала в XML.

person rslite    schedule 27.04.2009

Вы можете преобразовать в XML и сравнить, но для меня это имеет запах кода. Вы можете либо использовать LINQ (если вы используете .NET 3.5), либо просто вручную просмотреть таблицы, столбцы и строки и посмотреть, есть ли какие-либо различия.

person Adam Robinson    schedule 27.04.2009

Я бы просто использовал метод GetXmlSchema() для каждого набора данных и получил структуру схемы в виде строки. Затем можно сравнить обе строки.

person Cerebrus    schedule 27.04.2009