2017-03-03 5 views
0

ich diese Aktion haben, die eine Liste von Studenten sollWebAPI 2 Kehrt Leere Liste der Objekte

[HttpGet("GetAllStudentsByYear/{year}")] 
public IActionResult GetAllStudentsByYear(int year) 
{ 
    using (var db = new StudentsCFD()) 
    { 
     List<student> stud = (from std in db.student 
           join c in db.cppsas 
           on std.cppsa_id equals c.cppsa_ID 
           where c.school_yr == year 
           select std).ToList(); 
     return Ok(stud); 
    } 
} 

Ich bin hundertprozentig sicher Bolzen zurück nicht null ist, hat es 28 Objekte beim Debuggen. Allerdings sieht meine Ausgabe beim Aufruf so aus.

[ 
    {} 
] 
+2

Sind Sie sicher, dass 28 Artikel in 'Stud' enthalten sind? Was bekommst du, wenn du die Methode vorübergehend auf 'return Ok (stud.Count());'? – DavidG

+1

Würden Sie dasselbe Ergebnis erhalten, wenn Sie den Aktionswiedergabetyp auf 'List ' und 'return stud;'? – Andrei

+0

@DavidG Ja, zurück 'Ok (stud.Count())' zurückgegeben 28 –

Antwort

0

Zugabe db.Configuration.ProxyCreationEnabled = false vor der Linq gearbeitet. Es sieht so aus, als wäre es eine kreisförmige oder große Referenzierung von Fremdschlüsseln.

0

Können Sie direkt Stud zurück? Wenn ja, dann versuche es einmal. z.B. return stud; Und wenn IActionResult Rückgabetyp gibt es Fehler machen dynamic