Mon objet Emails
dans mon modèle de données a une relation à EmailTemplates
mais comme un e-mail ne pas BESOIN d'avoir un modèle associé, je veux la relation autoriser les valeurs nulles, donc je l'ai mis en place la propriété en Email
comme virtuelle:code première propriété virtuelle pour relation construit toujours avec une colonne non annulable
public class Email
{
public int Id { get; set; }
public virtual EmailTemplate EmailTemplate { get; set; }
}
Cela n'a malheureusement pas encore défini la colonne EmailTemplateId générée pour la relation FK comme annulable donc chaque fois que j'essaie d'ajouter un e-mail qui n » t utiliser un template, mon instruction insert viole la contrainte.
Comment puis-je modifier mon modèle de données pour permettre des valeurs NULL cette relation?
Ajouter explicitement cette propriété: 'publique int? EmailTemplateId {get; set;} 'ou modifiez manuellement la migration. Et «virtuel» ne parle pas de ça. –
Le modificateur 'virtual' n'a aucune incidence sur les propriétés requises ou non. Mais d'après ce que je vois, EF devrait rendre le FK nullable parce que c'est la valeur par défaut. Y a-t-il des mappages supplémentaires? –
@GertArnold non, je n'utilise pas Fluent ou quoi que ce soit (cela me rend confus). S'en tenir aux conventions de nommage pour obtenir toute la cartographie faite. – Ortund