Entity framework – первый нулевой внешний ключ

У меня есть модель User < Country . Пользователь принадлежит к стране, но может не принадлежать никому (нулевой внешний ключ).

Как мне настроить это? Когда я пытаюсь вставить пользователя с нулевой страной, он говорит мне, что он не может быть нулевым.

Модель выглядит следующим образом:

  public class User{ public int CountryId { get; set; } public Country Country { get; set; } } public class Country{ public List 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 ]"} A foreign key value cannot be inserted because a corresponding primary key value does not exist. [ Foreign key constraint name = Country_Users ]"}

Вы должны сделать свой внешний ключ недействительным:

 public class User { public int Id { get; set; } public int? CountryId { get; set; } public virtual Country Country { get; set; } } 

У меня такая же проблема сейчас, у меня есть внешний ключ, и мне нужно поставить его как nullable, чтобы решить эту проблему, которую вы должны поставить

  modelBuilder.Entity() .HasMany(c => c.Users) .WithOptional(c => c.Country) .HasForeignKey(c => c.CountryId) .WillCascadeOnDelete(false); 

в classе DBContext прошу прощения за ответ вам очень поздно 🙂

Давайте будем гением компьютера.