J'ai les classes suivantes: dans mon DataContext j'ai défini: p> peut-il me dire ce que je fais ce que je fais mal? p> Lorsque j'exécute ce code: P> var surveyRepository = new SurveyRepository();
foreach (var userAnswer in userAnswers)
{
survey.UserAnswers.Add(userAnswer);
}
surveyRepository.InsertOrUpdate(survey);
surveyRepository.Save();
3 Réponses :
Lors de la définition de votre modèle, vous n'avez pas besoin de spécifier les propriétés d'ID de référentielle EF les créera dans la base de données pour vous.
Modifiez votre modèle UserSwer vers P>
public class UserAnswer { [Key] public Guid Id { get; set; } public virtual Survey Survey { get; set; } public virtual Question Question { get; set; } public virtual Answer Answer { get; set; } }
Nope Ce n'est pas ça, j'ai d'autres classes où j'ai utilisé des clés et ils fonctionnent bien. J'ai supprimé la clé et toujours la même erreur. Thx cependant pour la réponse
S'il vous plaît, essayez de cette façon
Dans mon cas, c'est beaucoup de problèmes. Il existe entreprise code> entité et
catégorie code>. Je souhaite que chaque entreprise ait plusieurs catégories code> S, comment puis-je les attacher à l'aide de leur
CatégorieID code> S?
@Shimmy catégorie.businessid = business.id code> ou
business.categories.add (catégorie) code>?
Si Business CODE> existe et le
ID code> est connu, utilisez-le, sinon aller avec
Ajouter code>, mais je pense que vous êtes couvert dans n'importe quel Cas.
Je sais que c'est tard mais peut-être que cela pourrait être utile pour quelqu'un. Qu'en est-il d'essayer cela? récemment, j'ai eu que " une violation de la contrainte d'intégrité référentielle s'est produite: les valeurs de propriété qui définissent les contraintes de référence ne sont pas cohérentes entre des objets principaux et dépendants de la relation. em> «Erreur lors de la modification d'une entité avec des enfants. p> C'était mon code au début: p> et c'est mon code à la fin, fonctionnant bien: P> db.Actions.Attach(myAction);
db.ObjectStateManager.ChangeObjectState(myAction, EntityState.Modified);
myAction.ActionUserNameAssignations.Clear();
string[] sSelectedValues = CheckBoxListHelper.GetAllIds(collection, "CheckBox_UserName_", true).ToArray();
foreach (string userName in sSelectedValues)
{
ActionUserNameAssignation assignation = new ActionUserNameAssignation { ActionId = myAction.ActionId, UserName = userName };
myAction.ActionUserNameAssignations.Add(assignation);
}
db.SaveChanges();
Quelle erreur avez-vous eu et quand?