Entity Manager (C#)에서 실제로 이해할 수없는 문제가 있습니다. 나는이 물건에 다소 새로운 것이므로 내 noobness와 함께 부담하십시오. ^^다른 ObjectContext 객체로 인해 InvalidOperationException이 발생했습니다.
UserQuestion (UserQuestionnaire와 Question 사이의 데이터베이스에 링크를 만드는 UserQuestion의 인스턴스를 만들고 UserQuestionnaire를 사용하여 사용자와 설문지).
그래서 여기에 문제의 코드는 다음 UserQuestionnaire = user_questionnaire 문 InvalidOperationException이를 시작하기 때문에,
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을 만들 때 오류가 받고 있어요 이유는 "두 개체 사이의 관계 다른 ObjectContext 개체에 연결되어 있으므로 정의 할 수 없습니다. "
내가 이해할 수없는 것은 단지 1 개의 컨텍스트를 사용한다는 것입니다. (내가 공유 한 코드의 첫 번째 줄)
다른 사람이 나를 도와 줄 수 있습니까? 더 할 일이 무엇인지 모르겠다. :
고마워!
'BLL'이란 무엇입니까? – SLaks
BLL은 Questionnaires.cs 및 Users.cs와 같은 "비즈니스"클래스 (BLL = Business Logic Layer)를 넣은 폴더입니다. – BPruvost