У меня есть довольно стандартная таблица в текущем приложении, используя .NET XSD DataSet
и TableAdapter
. Таблица My 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 в базе данных.