Entwickler-Ecke
C# - Die Sprache - ...query results cannot be enumerated more than once
steffen.rahn - Mi 28.04.10 09:27
Titel: ...query results cannot be enumerated more than once
Ich habe folgendes Problem im Zusammenhang mit stored procedures, LINQ und JSON.NET (James Newton Kings JSON Serialisiere)
Ich convertiere ein ISingleREsult mit AsQueryable() zu IQueryable und gebe es dann zum serialisieren weiter, was zu der im Title genannten Exception führt.
Ich bin über jeden Hinweiss dankbar!
JüTho - Mi 28.04.10 09:36
Hallo Steffen und :welcome:
Zur Sache habe ich keine Ahnung; ich bin mir aber sicher, dass Fachleute den von dir verwendeten Code sehen möchten, um mögliche Ursachen zu erkennen. Das kannst du in deinem ersten Beitrag mit dem Schere-Button nachholen. Bitte benutze dort auch unter "Bereiche" die C#-Auswahl mit dem Plus-Button.
Gruß Jürgen
steffen.rahn - Mi 28.04.10 09:48
Hallo und Danke für das Willkommen.
Da es sich in erster Linie um ein Type-Problem handelt, denke ich nicht, das Code wirklich weiterhilft. Den Serialisierer möchte ich ungern verändern, da es 3rd Party ist.
Aber dennoch hier sind ein paar Zeilen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| public IQueryable<MyObject>FindAll(int id) { return db.usp_myprocedure(id).AsQueryable(); }
...
IQueryable<object>qResult = FindAll(id); var result = new { total = qResult.ToList().Count(), data = qResult }; |
Anschließend soll result serialisiert werden mit dem erwähnten JSON Serialisierer
EDIT:
konnte es selber lösen. ToList() funktioniert, ich hatte es nur zweimal aufgerufen ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!