Сведения о вопросе

Htmlщик

16:03, 1st July, 2020

Теги

.net   database   xsd    

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

Просмотров: 384   Ответов: 1

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



  Сведения об ответе

PHPH

18:03, 1st July, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться