Можем ли мы игнорировать исходную схему при запросах с использованием IDbCommand - PullRequest
0 голосов
/ 24 сентября 2010

Я использую System.Data.IDbCommand для запроса таблицы с первичным ключом. Мой запрос объединяет его с другими таблицами и извлекает несколько записей с одинаковым значением в столбце первичного ключа, но с другими значениями в других объединенных столбцах, и это является предполагаемым поведением.

Однако IDbCommand.ExecuteReader (). GetSchemaTable () показывает, что у таблицы внутренней схемы считывателя есть первичный ключ в этом столбце. Теперь, если я попытаюсь загрузить это средство чтения в System.Data.DataTable (обычный старый DataTable, не типизированный), он выдаст исключение нарушения ограничения (очевидно, потому что он пытается вставить то же значение для столбца первичного ключа). 1003 *

Есть ли способ, которым я могу дать команду ExecuteReader () игнорировать исходную схему или не применять ограничения?

Другая информация: это .Net 2.0.

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 25 сентября 2010

Можете ли вы использовать что-то вроде

DataTable result = new DataTable();
SqlCeDataAdapter adapter = new SqlCeDataAdapter(command);
adapter.Fill(result);

Инициализируйте команду запросом и используйте правильного поставщика.

0 голосов
/ 25 сентября 2010

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

Приветствия!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...