Hallo,
ich habe folgenden Fehler:
Hier der gekürzte Code incl. markierter Fehlerstelle.
Von der Logik her sagt mir der Fehler, dass ich über Fields kein 2. foreach Schleife laufen lassen kann? Doch wieso - ist das nicht schwachsinnig?
Danke im voraus!
Grüße,
n26
ich habe folgenden Fehler:
Das Ergebnis einer Abfrage kann nicht mehrmals aufgezählt werden.
Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.
Ausnahmedetails: System.InvalidOperationException: Das Ergebnis einer Abfrage kann nicht mehrmals aufgezählt werden.
Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.
Ausnahmedetails: System.InvalidOperationException: Das Ergebnis einer Abfrage kann nicht mehrmals aufgezählt werden.
Code:
private void RefreshFrontiers(int X, int Y) { TdDataContext Db = Td.Database.Connection; var Fields = Db.GetFieldsInRangeWithSecondCoords(X, Y, 2); foreach (Fields Field in GetFieldsInRange(Fields, X, Y, 1)) { string NewFrontier = GetNewFrontier(Fields, Field.X2, Field.Y2); [...] } //Db.SubmitChanges(); } private IEnumerable<Fields> GetFieldsInRange(ISingleResult<Fields> Fields, int X, int Y, int Distance) { return Fields.Where(f => (Math.Abs(X - f.X2) + Math.Abs(Y - f.Y2) + Math.Abs((X - f.X2) - (Y - f.Y2))) / 2 <= Distance); } private string GetNewFrontier(ISingleResult<Fields> Fields, int X, int Y) { foreach (var Field in GetFieldsInRange(Fields, X, Y, 1)) // << hier ist der Fehler { [...] } string Result = ""; [...] return Result; }
Danke im voraus!
Grüße,
n26
Comment