2016-06-30 5 views
1

Ich habe zwei Tabellen erstellt (Frage, Antwort) mit Fremdschlüssel-Zuordnung, brauche ich Liste der Antworten auf FrageID Spalte für die ich brauche linq Abfrage. Ich bin Anfänger bis mvc, Kann jemandSo erhalten Sie eine Liste von Daten aus Fremdschlüssel zugeordneten Tabelle ist JSON-Format in MV

Code Controller zu mir helfen:

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 Ergebnis:

[ 
    {"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"} 
] 

Aber ich brauche wie unten:

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

Antwort

0

Machen Sie keine Join statt ge t die Frage gewünschten Informationen und führen Sie dann eine Unterabfrage, die Antworten für die spezifische Frage zu bekommen:

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

wenn oben bin immer Syntaxfehler in der zweiten Auswahl @Andres Nava – anitha

+0

Abfrage Rückkehr Nullwerte .. @ Andres Nava schreibe – anitha

+0

Vielen Dank für Ihren Vorschlag @ Andrés Nava - .NET – anitha

Verwandte Themen