Ich habe ein User
< Country
Modell. Ein Benutzer gehört zu einem Land, darf aber keinem gehören (Null-Fremdschlüssel).
Wie richte ich das ein? Wenn ich versuche, einen Benutzer mit einem Nullland einzufügen, wird mir mitgeteilt, dass es nicht null sein kann.
Das Modell ist wie folgt:
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;}
}
Error: 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
quelle
quelle
Antworten:
Sie müssen Ihren Fremdschlüssel auf null setzen:
quelle
if
(eww)Guid
basierte Schlüssel nicht zu funktionieren . (Es macht sie zwar nullbar, aber das Speichern eines Datensatzes in der Datenbank mit dem auf null gesetzten Fremdschlüssel schlägt aufgrund einer automatisch generierten Fremdschlüsseleinschränkung fehl.) :-(Ich bevorzuge dies (unten):
Weil EF 2 Fremdschlüssel in der Datenbanktabelle erstellt hat: CountryId und CountryId1, aber der obige Code hat das behoben.
quelle
Ich habe jetzt das gleiche Problem, ich habe einen Fremdschlüssel und ich muss ihn als nullbar setzen, um dieses Problem zu lösen, das Sie setzen sollten
In der DBContext-Klasse tut es mir leid, dass ich Ihnen sehr spät geantwortet habe :)
quelle
Ich empfehle, das Microsoft-Handbuch zu lesen, um Beziehungen, Navigationseigenschaften und Fremdschlüssel in EF Code First wie in diesem Bild zu verwenden.
Leitfaden unten:
https://docs.microsoft.com/en-gb/ef/ef6/fundamentals/relationships?redirectedfrom=MSDN
quelle