У меня довольно стандартная таблица настроек в текущем приложении, использующая функции .NET XSD DataSet
и TableAdapter
. Моя таблица contracts
содержит некоторую стандартную информацию о контракте со столбцом для primary department
. Этот столбец является внешним ключом для моей таблицы Departments
, где я храню основные department name
, id
, notes
. Это все настройки и функционирование в моем SQL Server .
Когда я использую инструмент XSD, я могу перетаскивать обе таблицы одновременно, и он автоматически обнаруживает / создает мой внешний ключ между этими двумя таблицами. Это прекрасно работает, когда я на главной странице и просматриваю данные контракта.
Однако, когда я захожу на свою административную страницу, чтобы изменить данные отдела, я обычно делаю что-то вроде этого:
Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()
taDepartment.Fill(dtDepartment)
Однако, в этот момент выдается исключение, говорящее о том, что здесь прервана ссылка на внешний ключ, я полагаю, поскольку у меня нет заполненного Contract DataTable
.
Как я могу исправить эту проблему? Я знаю, что могу просто удалить внешний ключ из XSD, чтобы все работало нормально, но наличие дополнительной проверки целостности и соответствие схемы XSD схеме SQL в базе данных - это хорошо.