У меня User
< Country
модель. Пользователь принадлежит к стране, но не может принадлежать ни к какой стране (пустой внешний ключ).
Как мне это настроить? Когда я пытаюсь вставить пользователя с нулевой страной, он сообщает мне, что он не может быть нулевым.
Модель выглядит следующим образом:
public class User{
public int CountryId { get; set; }
public Country Country { get; set; }
}
public class Country{
public List<User> Users {get; set;}
public int CountryId {get; set;}
}
Ошибка: A foreign key value cannot be inserted because a corresponding primary key value does not exist. [ Foreign key constraint name = Country_Users ]"}
Ответы:
Вы должны сделать свой внешний ключ допускающим значение NULL:
источник
if
(eww)Guid
ключей на основе. (Конечно, это делает их допускающими значение NULL, но сохранение записи в базе данных с внешним ключом, установленным в NULL, не удается из-за автоматически сгенерированного ограничения внешнего ключа.) :-(Я предпочитаю это (ниже):
Поскольку EF создавал 2 внешних ключа в таблице базы данных: CountryId и CountryId1, но приведенный выше код исправил это.
источник
У меня такая же проблема, у меня есть внешний ключ, и мне нужно указать его как допускающий значение NULL, чтобы решить эту проблему, вы должны поставить
в классе DBContext извините, что ответил вам очень поздно :)
источник
Я рекомендую сначала прочитать руководство Microsoft по использованию отношений, свойств навигации и внешних ключей в EF Code, как это изображение.
Ссылка на руководство ниже:
https://docs.microsoft.com/en-gb/ef/ef6/fundamentals/relationships?redirectedfrom=MSDN
источник