Entity framework code first null clé étrangère
J'ai un User
< Country
modèle. Un utilisateur appartient à un pays, mais ne peuvent appartenir à aucun (null, foreign key).
Comment puis-je le configurer? Lorsque j'essaie d'insérer un utilisateur avec une valeur null pays, il me dit qu'il ne peut pas être null.
Le modèle se présente comme suit:
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;}
}
Erreur: A foreign key value cannot be inserted because a corresponding primary key value does not exist. [ Foreign key constraint name = Country_Users ]"}
- Pouvez-vous veuillez me corriger si je me trompe. Une clé étrangère est d'accepter les valeurs null par DÉFAUT dans le premier code, asp.net mvc - 5 entity framework.
- Si nous voulons le faire non nullable. nous avons besoin d'utiliser des api fluent si pas de le décorer avec "Nécessaire" de l'attribut. Suis-je la corriger?
- Si nous ne le faisons pas, soit alors de clé Étrangère sera par défaut Nullable
Vous devez vous connecter pour publier un commentaire.
Vous devez faire de votre clé étrangère nullable:
if
(eww)Nullable(Of Integer)
ouInteger?
dans vb.net.Guid
des clés. (Il rend nullable, bien sûr, mais l'enregistrement un enregistrement de la base de données avec la clé étrangère, null échoue en raison d'une générés automatiquement contrainte de clé étrangère.) 🙁Je préfère ce (ci-dessous):
Parce que EF a été la création de 2 clés étrangères dans la table de base de données: CountryId, et CountryId1, mais le code ci-dessus est fixée.
J'ai le même problème, maintenant ,
J'ai de clé étrangère et j'ai besoin de le mettre comme nullable,
pour résoudre ce problème, vous devez mettre
dans la classe DBContext
Je suis désolé pour vous répondre très en retard 🙂