Я создаю шаблон данных на C#. С помощью хороших людей на этом замечательном сайте мне удалось решить почти все вопросы. Это должна быть последняя проблема. Поскольку это шаблон, над которым я работаю, мне нужно каждое поле в таблице, включая нули. Мне помогли, как обновить нули, добавив (объект) this.field ?? DBNull.Value, но у меня есть поле, являющееся внешним ключом, и хотя, когда я смотрю в базу данных, он говорит null, когда я извлекаю записи, значение становится 0. Когда я пытаюсь обновить это поле, оно говорит, что я нарушаю внешний ключ ограничения. Как я могу обойти эту проблему? Я думал, что нулевое решение будет работать, но оно не отображается как нулевое, а отображается как 0.
Спасибо






В общем, разрешать FK быть нулевым - не лучшая идея. Некоторые базы данных (я знаю, что это делает Oracle) применяют это, привязывая FK к первичным ключам, а не к столбцам в других таблицах. Не могли бы вы реорганизовать свои таблицы, чтобы не нули для этого столбца?
«нам нужно работать с тем, что у нас есть» ... да, это печальная история нашей жизни. :-)
0 - возможное допустимое значение для столбца? Если нет, просто введите для него значение null, когда вы его встретите. Если он действителен, вы все равно можете сделать это, заключив его в условное выражение, которое проверяет, что внешняя строка существует первой.
К сожалению, нет, потому что это не таблицы, созданные нами, поэтому нам нужно работать с тем, что у нас есть.