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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
35
0
1 220
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Это свойство называется EnforceConstraints.

gurkini 01.08.2018 17:04

Другие вопросы по теме