2016-06-30 8 views
1

私は外部キーの関連付けで2つのテーブル(質問、回答)を作成しましたが、linqクエリが必要であるという質問ID列に基づいて回答リストが必要です。外部キー関連テーブルからデータリストを取得する方法

public JsonResult displayQuestion() 
{ 
    var result = from q in Db.questions 
        join a in Db.answers on q.Qid equals a.questionID 
        select new { q.QText, q.Qid, a.answer1 }; 
    return Json(result, JsonRequestBehavior.AllowGet); 
} 

JSON結果:

[ 
    {"QText":"result of 2+2","Qid":2,"answer1":"2"}, 
    {"QText":"result of 2+2","Qid":2,"answer1":"4"}, 
    {"QText":"result of 2+2","Qid":2,"answer1":"6"}, 
    {"QText":"result of 2+2","Qid":2,"answer1":"8"} 
] 

しかし、私は以下のような必要があります。

{ 
   "QText": "result of 2+2", 
   "Qid": 2, 
   "answer1": [ 
      { "option1": "2" }, 
      { "option1": "4" }, 
      { "option1": "6" }, 
      { "option‌​1": "8" } 
   ] 
} 
私は誰が

私にコントローラー・コードを助けることができ、MVCに初心者です

答えて

0

結合をしないでください。代わりに、geアンドレス・ナバ@上記書いていたときに

public JsonResult displayQuestion() 
{ 
    var result = from q in Db.questions 
        select new { 
        q.QText, 
        q.Qid, 
        answer1 = (from a in Db.answers 
           where a.questionID == q.Qid 
           select new { option1 = a }).ToList() 
        }; 

    return Json(result, JsonRequestBehavior.AllowGet); 
} 
+0

null値を返す第2の選択@Andresナバ – anitha

+0

クエリで構文エラーを取得しています..:質問したい情報や、特定の質問に対する答えを得るためにサブクエリを行うには、T – anitha

+0

あなたに感謝します@AndrésNava - .NET – anitha

関連する問題