从多对多关系中使用LINQ查询选择嵌套列表

时间:2018-11-20 13:52:07

标签: c# entity-framework linq many-to-many

我创建了用于调查的数据库,其中问题和答案存储在数据库中。在这里,我创建了调查表(我有3种调查类型)。它包含SurveyID,SurveyName。另一个表是Questions,它包含QuestionId,QuestionText。下表是Answers,它具有AnswerId和AnswerText。不同的调查可能有相同的问题。因此,我为多对多关系创建了表SurveysQuestions。另一个表是SurveysQuestionsAnswers表,它具有SurveyId,QuestionId,AnswerId,并且它也是多对多关系。现在,我需要为调查1选择问题,并且其中应包含问题列表。每个问题应具有问题文本和属于该问题的答案列表。我不能写linq查询来选择这样。我附上我的ViewModel和数据库设计。 enter image description here

List<SurveyViewModel> list = (from jsqa in db.JSTC_SURVEY_QUESTION_ANSWER
                                      where jsqa.SURVEY_ID == 1
                                      select new SurveyViewModel
                                      {
                                          question = (from jsq in db.JSTC_SURVEY_QUESTION where jsq.QUESTION_ID == jsqa.QUESTION_ID select jsq.QUESTION_TEXT).ToString(),
                                          answers = (from jsa in db.JSTC_SURVEY_ANSWER where jsa.ANSWER_ID == jsqa.ANSWER_ID select jsa.ANSWER_TEXT).ToList()
                                      }).ToList();

0 个答案:

没有答案
相关问题