我正面临一个问题,我对实体经理(C#)并不了解。我对这些东西有点新意,所以请忍受我的noobness ^^
我试图创建一个UserQuestion实例(在UserBuestionnaire和Question之间创建DataBase中的链接; UserQuestionnaire链接用户和问卷)。
所以这是有问题的代码:
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
}
我在创建UserQuestion时遇到错误,因为UserQuestionnaire = user_questionnaire语句启动InvalidOperationException,因为: "无法定义两个对象之间的关系,因为它们附加到不同的ObjectContext对象。"
我不明白的是我只使用了1个上下文! (我分享的代码中的第一行)
有人可以帮我解决这个问题吗?我真的不知道还能做什么:s
谢谢!
答案 0 :(得分:0)
听起来BLL.Questionnaires.Get_Questionnaire_En_Cours()
使用自己的ObjectContext。