Наборы данных XSD и игнорирование внешних ключей

StackOverflow https://stackoverflow.com/questions/134

  •  08-06-2019
  •  | 
  •  

Вопрос

У меня есть довольно стандартная настройка таблицы в текущем приложении с использованием .СЕТЬ XSD DataSet и TableAdapter функции.Мой contracts Таблица состоит из некоторой стандартной информации о контракте со столбцом для primary department.Этот столбец представляет собой внешний ключ моему Departments стол, где я храню основные department name, id, notes.Это все настроено и работает в моем SQL-сервер.

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

Однако, когда я захожу на свою административную страницу, чтобы изменить данные отдела, я обычно делаю что-то вроде этого:

Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()

taDepartment.Fill(dtDepartment)

Однако в этот момент выдается исключение, говорящее о том, что здесь нарушена ссылка на внешний ключ, я предполагаю, что поскольку у меня нет Contract DataTable заполненный.

Как я могу решить эту проблему?Я знаю, что могу просто удалить внешний ключ из XSD, чтобы все работало нормально, но иметь дополнительную проверку целостности и соответствие схемы XSD схеме SQL в базе данных — это хорошо.

Это было полезно?

Решение

Вы можете попробовать отключить проверочные ограничения в наборе данных (он находится в его свойствах) или изменить свойства этого отношения и изменить ключ на простую ссылку — на ваше усмотрение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top