Как эффективно сохранять имена таблиц базы данных в XML и анализировать их в C # - PullRequest
1 голос
/ 17 августа 2011

У меня есть требование копировать таблицы из одной БД в другую. Имена таблиц (для использования в приложении) настраиваются в файле XML.

Это работает, если таблицы не имеют каких-либо отношений. В случае, если любая из таблиц имеет отношения. Как лучше поступить?

  1. Как определить схему XML? (как указать основные таблицы, если они в свою очередь зависят от других таблиц)
  2. Как эффективно проанализировать XML-схему в C #, чтобы главные таблицы загружались первыми.

Спасибо, Виджей

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Используя linq-to-sql, можно получить внешнее отображение в формате xml между классами и их свойствами и именами таблиц и столбцов, с которыми они сопоставляются. Linq-to-sql имеет встроенные функции для ссылок на внешние ключи и т. Д.

Используя внешний источник сопоставления, вам придется выполнить некоторую работу вручную. Основные шаги:

  1. Создать базу данных, если она еще не создана.
  2. Напишите классы с именами, которые вы хотите использовать в коде. Вы можете использовать инструмент SqlMetal для генерации необработанных файлов, которые вы можете удалить из атрибутов сопоставления.
  3. Написать файл сопоставления xml.

Если вы не знакомы с linq-to-sql, я бы порекомендовал вам начать с игрушечного проекта с использованием Visual Studio Designer, чтобы быстро начать знакомство с технологией.

0 голосов
/ 17 августа 2011

2.Как эффективно проанализировать XML-схему в C #, чтобы главные таблицы загружались первыми.

НЕ ВСЕ. Это игрушечный набор данных (то есть маленький), просто используйте сериализатор Xml. Не нужно писать парсер.

1. Как определить схему XML? (как указать основные таблицы, если они в свою очередь зависят от другие таблицы)

Опыт, требования и принцип KISS. Извините, это так просто, я не знаю, что еще написать.

...