Почему конструктор набора данных меняет регистр моих объектов схемы? - PullRequest
0 голосов
/ 24 ноября 2011

У меня есть два xsd-файла с одинаковой точной схемой.Первый был сгенерирован из соединения SQL, а другой сгенерирован из соединения FoxPro OleDb конструктором наборов данных.Я не могу использовать один и тот же XSD для генерации адаптеров и таблиц, потому что поставщики SQL и OleDb генерируют разные типы.Я не могу использовать EF, потому что он не поддерживает FoxPro OleDb или, по крайней мере, официально.

У меня также есть проблема, когда в файле SQL xsd есть имена таблиц, полей и адаптеров таблиц в UPPERCASE иПодключение FoxPro OleDb в нижнем регистре.Это создает ситуацию, когда я не могу обмануть их приведения из базового типа.

Есть ли подходящее решение для этой проблемы, или мне нужно иметь два набора кода в моем слое DAL?Я не хотел бы переписывать операции CRUD для всех этих таблиц.

1 Ответ

0 голосов
/ 11 декабря 2011

Для пояснения, вы подключаетесь к ОБА "серверам" для данных? Вы пытаетесь скопировать данные с одного сервера на другой? Вы всегда можете получить запрос для каждого результата с одинаковыми именами столбцов и сопоставимыми типами данных (текст против символа, целое число работает в обоих случаях, памятка против блоба и т. Д.).

На самом деле я написал объект-обертку для запроса данных, основанный на типах INTERFACE, для выполнения запроса и обновления один раз для каждого соединения с базой данных, а затем подклассов из этого для соответствующей отдельной таблицы, так что большая часть основной работы выполняется один раз.

Что касается интерфейсов, я имею в виду IDbConnection (SQLConnection против OleDbConnection), IDbCommand (SQLCommand против OleDbCommand) и т. Д., И он хорошо работает для подключения к базам данных SQL, MySQL, Access, SQLite и Visual Foxpro.

Все это, как говорится, что / как вы используете ваши XSD-файлы. С небольшим уточнением я мог бы предложить немного больше помощи.

...