Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 由于ObjectContext对象不同,导致InvalidOperationException_C#_Asp.net_Entity Framework_Objectcontext - Fatal编程技术网

C# 由于ObjectContext对象不同,导致InvalidOperationException

C# 由于ObjectContext对象不同,导致InvalidOperationException,c#,asp.net,entity-framework,objectcontext,C#,Asp.net,Entity Framework,Objectcontext,我在实体管理器(C#)中遇到了一个我不太理解的问题。我对这东西有点陌生,所以请容忍我的无知^^ 我试图创建UserQuestion的一个实例(它使数据库中的表UserQuestion和Question之间的链接;UserQuestion链接用户和问卷) 下面是有问题的代码: public static void Insert_Resultat_Question_BDD(Question q, double resultat) { DataSourceContainer bdd = ne

我在实体管理器(C#)中遇到了一个我不太理解的问题。我对这东西有点陌生,所以请容忍我的无知^^

我试图创建UserQuestion的一个实例(它使数据库中的表UserQuestion和Question之间的链接;UserQuestion链接用户和问卷)

下面是有问题的代码:

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时遇到一个错误,因为UserQuestion=user\u Question语句会启动InvalidOperationException,因为: “无法定义两个对象之间的关系,因为它们附加到不同的ObjectContext对象。”

我不明白的是,我只使用了1个上下文!(我共享的代码的第一行)

有人能帮我渡过难关吗?我真的不知道还能做什么:s


谢谢

听起来像是
BLL.inventures.Get_inventurer\u En_Cours()
使用自己的ObjectContext。

BLL是一个文件夹,我在其中放置了“业务”类(BLL=业务逻辑层),比如inventures.cs和Users.cs是的。基本上,这个方法所做的是从会话变量中读取正在获取的问卷ID,然后进入数据库以获取“问卷”对象(使用objectcontext)并返回它。但我不明白,因为即使问卷是用另一个对象上下文处理的,最终我处理的对象是用户问卷,而这一个没有用另一个对象上下文。不管怎样,我该怎么办?@Tahedoz:
uq
引用了另一个上下文中的
q
。您应该修改BLL以使用现有上下文。