1. ホーム
  2. entity-framework

[解決済み] エンティティフレームワークのコードファーストのNULL外部キー

2022-06-30 02:52:36

質問

私は User < Country というモデルを使用します。ユーザーはある国に属していますが、どの国にも属していないかもしれません(NULL外部キー)。

どのように設定すればいいのでしょうか?nullの国を持つユーザーを挿入しようとすると、nullにはできないと表示されます。

モデルは以下の通りです。

 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 ]"}

どのように解決するのですか?

外部キーをnullableにする必要があります。

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