Je traite d'abord le code .NET 4 et j'ai des problèmes avec une relation 1 à 1.Basé sur une contrainte déclarée, la propriété de navigation est requise.
breifing base de données: -POccurrence -Id
-POccurrenceRiskAssessment -OccurrenceId
dans ma classe Poccurrence J'ai une propriété nommée RiskAsessment, du POccurrenceRiskAssessment type. Tous les POccurrences n'ont pas d'évaluation des risques, il doit donc être nullable. J'ai essayé
modelBuilder.Entity<POccurrence>().HasOptional(item => item.RiskAssessment).HasConstraint((o, r) => r.OccurrenceId == o.Id);
mais qui me donne
La propriété de navigation 'RiskAssessment' a déclaré le type 'AM.Pris.Classes.POccurrence' a été configuré en option. Basé sur une contrainte déclarée , la propriété de navigation est requise. Soit rendre nulle la propriété de clé dépendant ou configurer la navigation comme requis.
et si je tente
modelBuilder.Entity<POccurrence>().HasRequired(item => item.RiskAssessment).HasConstraint((o, r) => r.OccurrenceId == o.Id);
i me
Une contrainte d'intégrité référentielle violation a été commise: Une clé primaire propriété qui est une partie de contrainte référentielle d'intégrité ne peut pas être changé lorsque l'objet dépendant est Inchangé sauf s'il est défini sur l'objet principal de la sociation. L'objet principal doit être suivi et non marqué pour la suppression.
et je n'ai aucune idée de ce qu'il faut faire. J'ai même essayé de supprimer la relation réelle dans la BD mais rien ne semble faire de différence. Une idée? Je suppose que c'est le premier essai avec HasOptional que je cherche, mais comment puis-je le rendre nullalbe?