Auf dieser Funktion erhalte ich eine ungültige Cast Exception mit diesem als der detaillierten FehlerUngültige Cast Exception DBQuery LINQ
Kann nicht das Objekt des Typs ‚System.Data.Entity.Infrastructure.DbQuery
1[<>f__AnonymousType8
2 [System werfen. Nullable1[System.TimeSpan],System.String]]' to type 'System.Linq.IOrderedQueryable
1 [YourReservation.Models.Reservation] '.
Code:
[HttpGet]
[Route("api/Reservations/getPartyNames")]
public IOrderedQueryable<Reservation>getPartyNames()
{
var query = (from r in db.Reservations
where r.ReservationDate == DateTime.Now
select new { Time = r.ReservationTime, FullName = r.FirstName + " " + r.LastName });
return (IOrderedQueryable<Reservation>)query;
}
ich nicht genau sehen, was falsch ist, weil ich auf eine Rückkehr dieser besonderen Besetzung gemacht haben, bevor Variable mehrmals.
Beachten Sie, dass es auch möglich ist (vorausgesetzt, die Eigenschaften sind öffentlich), einfach 'Reservation' nach dem' neuen' hinzuzufügen (IE: 'wählen Sie neue Reserve {Time = r.Res ...}') und behalten Sie den Rest gleich – Rob
@Rob Sollen die Variablen in der Select-Klausel mit einem Feld in meiner Reservierungsklasse identisch sein? Ich bekomme den Fehler Reservierung enthält nicht zwei Konstruktoren. – GabeCoach
@GabeCoach Ja - sie müssten übereinstimmen. Angenommen, Sie haben eine Eigenschaft 'Time' und' Fullname', sollte es funktionieren. Ich bin jedoch nicht sicher über diesen Fehler, da Sie den Standardkonstruktor verwenden würden. Können wir die Reservierungsklasse sehen? – Rob