InvalidOperationException,因为不同的 ObjectContext 对象
本文关键字:ObjectContext 对象 因为 InvalidOperationException | 更新日期: 2023-09-27 18:33:21
我遇到了一个我不太了解实体管理器 (C#( 的问题。我对这个东西有点陌生,所以请忍受我的菜鸟^^
我正在尝试创建用户问题的实例(它在数据库中建立了用户问卷和问题表之间的链接;链接用户和调查问卷的用户调查问卷(。
所以这是有问题的代码:
public static void Insert_Resultat_Question_BDD(Question q, double resultat) {
DataSourceContainer bdd = new DataSourceContainer(); // initializes the Context
User user = BLL.Users.Get_User_Connecté(); // Gets the connected user
Questionnaire questionnaire = BLL.Questionnaires.Get_Questionnaire_En_Cours(); // Gets the questionnaire being taken
UserQuestionnaire user_questionnaire = bdd.UserQuestionnaireSet.FirstOrDefault(i => i.User.id == user.id && i.Questionnaire.id == questionnaire.id); // Get the UserQuestionnaire object for the user and questionnaire above
UserQuestion uq = new UserQuestion { score = resultat * q.bareme, bareme = q.bareme, Question = q, UserQuestionnaire = user_questionnaire }; // Creates the object
bdd.AddToUserQuestionSet(uq); // Add it to the table
bdd.SaveChanges(); // Save
}
我在创建用户问题时收到错误,因为用户问卷 = user_questionnaire语句启动了无效操作异常,因为:"无法定义两个对象之间的关系,因为它们附加到不同的 ObjectContext 对象。
我不明白的是,我只使用1个上下文!(我分享的代码中的第一行(
有人可以帮助我解决这个问题吗?我真的不知道还能做什么:s
谢谢!
听起来BLL.Questionnaires.Get_Questionnaire_En_Cours()
使用自己的ObjectContext。