Мне нужно сравнить структуру таблицы двух наборов данных, чтобы проверить наличие расхождений, возможно ли это?
У меня было преобразование в XML и сравнение, но есть ли лучший способ?
Спасибо
Мне нужно сравнить структуру таблицы двух наборов данных, чтобы проверить наличие расхождений, возможно ли это?
У меня было преобразование в XML и сравнение, но есть ли лучший способ?
Спасибо
Я думаю, что это сильно зависит от того, что вы хотите сделать. Если вы хотите просто визуализировать различия, я бы использовал XML и инструмент для просмотра различий.
Если вы хотите увидеть, отличаются ли они и, возможно, отобразить краткий список измененных полей (все это внутри приложения), вы также можете использовать XML-представление схемы или сделать, как упомянул Адамс Робинсон. По сути, независимо от того, как вы это сделаете, вам все равно придется перебирать таблицы и поля, поэтому вы также можете получить к ним прямой доступ, а не преобразовывать их сначала в XML.
Вы можете преобразовать в XML и сравнить, но для меня это имеет запах кода. Вы можете либо использовать LINQ (если вы используете .NET 3.5), либо просто вручную просмотреть таблицы, столбцы и строки и посмотреть, есть ли какие-либо различия.
Я бы просто использовал метод GetXmlSchema()
для каждого набора данных и получил структуру схемы в виде строки. Затем можно сравнить обе строки.