XSD DataSets и игнорирование внешних ключей

У меня есть довольно стандартная настройка таблиц в текущем приложении с использованием .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 в базе данных - это хорошо.

1.08.2008 16:33:38
1 ОТВЕТ
РЕШЕНИЕ

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

12
29.12.2015 06:30:38
Это свойство называется "EnforceConstraints"
gurkini 1.08.2018 14:04:00