Saya memiliki User
< Country
model. Seorang pengguna milik suatu negara, tetapi mungkin bukan milik mana pun (kunci asing nol).
Bagaimana cara menyiapkannya? Ketika saya mencoba memasukkan pengguna dengan negara nol, itu memberi tahu saya bahwa itu tidak bisa nol.
Modelnya adalah sebagai berikut:
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;}
}
Kesalahan: A foreign key value cannot be inserted because a corresponding primary key value does not exist. [ Foreign key constraint name = Country_Users ]"}
entity-framework
mapping
ef-code-first
foreign-key-relationship
entity-framework-4.1
Shawn Mclean
sumber
sumber
Jawaban:
Anda harus menjadikan kunci asing Anda nullable:
sumber
if
(eww)Guid
kunci berbasis. (Itu membuat mereka nullable, tentu, tetapi menyimpan record ke database dengan kunci asing yang disetel ke null gagal karena batasan kunci asing yang dibuat secara otomatis.) :-(Saya lebih suka ini (di bawah):
Karena EF membuat 2 kunci asing di tabel database: CountryId, dan CountryId1, tetapi kode di atas memperbaikinya.
sumber
Saya memiliki masalah yang sama sekarang, saya memiliki kunci asing dan saya perlu menaruhnya sebagai nullable, untuk mengatasi masalah ini Anda harus meletakkannya
di kelas DBContext saya minta maaf karena terlambat menjawab Anda :)
sumber
Saya merekomendasikan untuk membaca panduan Microsoft untuk menggunakan Hubungan, Properti Navigasi dan Kunci Asing dalam Kode EF Pertama, seperti gambar ini.
Tautan panduan di bawah ini:
https://docs.microsoft.com/en-gb/ef/ef6/fundamentals/relationships?redirectedfrom=MSDN
sumber