67

User < Country modelim var. Bir kullanıcı bir ülkeye ait, ancak herhangi bir (null yabancı anahtar) ait olmayabilir.Varlık çerçeve kodu ilk boş anahtar

Bunu nasıl kurarım? Boş bir ülkeye sahip bir kullanıcı eklemeye çalıştığımda, bunun boş bırakılamayacağını söyler. aşağıdaki gibi

modelidir:

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;} 
} 

Hata: A foreign key value cannot be inserted because a corresponding primary key value does not exist. [ Foreign key constraint name = Country_Users ]"}

+0

Eğer nazik beni düzeltin Can. Yabancı bir anahtar, kod ilk asp.net mvc - 5 varlık çerçevesinde DEFAULT tarafından NULLABLE. – Unbreakable

+0

Bunu null olmayan yapmak istiyorsak. Daha sonra "Gerekli" özniteliği ile dekore edilmediğinde ya akıcı api kullanmamız gerekir. Doğrumuyum? – Unbreakable

+0

Ya o zaman yapmazsak Yabancı anahtar Nullable – Unbreakable

cevap

115

Sen yabancı anahtar Nullable yapmak gerekir: ben yanlış isem

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

için varsayılan olarak ne yapılıyor? –

+17

Sanal, tembel yükleme için gereklidir. –

+0

Virtual ayrıca her zaman aranmayan değişiklik izleme özelliğini de ekler. Sanal olarak istediğimiz tek zaman hakkında koleksiyonlar, ancak YMMV. –

İlgili konular