Ich habe mir die verschiedenen Lösungen hier angesehen, aber keine von ihnen scheint für mich zu funktionieren, wahrscheinlich, weil ich zu neu bin all das und tappen ein wenig im Dunkeln. Im folgenden Code enthält das Objekt "Termin" einige grundlegende LDAP-Informationen. Aus einer Liste solcher Objekte möchte ich basierend auf der Angestellten-ID einen einzigen Datensatz erhalten. Ich hoffe, der Code hier reicht zur Veranschaulichung aus. FTR, ich habe verschiedene Formulierungen ausprobiert, unter anderem den Versuch, aus und eine Auswahl zu verwenden. Alle scheitern mit dem oben im Titel angegebenen Fehler.LINQ to Entities erkennt die Methode 'System.String get_Item (System.String)' nicht
IQueryable<appointment> query = null;
foreach(var record in results)
{
BoiseStateLdapDataObject record1 = record;
query = db.appointments.Where(x => x.student_id == record1.Values["employeeid"]);
}
if (query != null)
{
var selectedRecord = query.SingleOrDefault();
}
Dank. Das hat den Fehler behoben. Kannst du mir sagen, warum es repariert wurde? Oder liegt das außerhalb des Rahmens dieses Forums? – user2283231
@ user2283231 Wenn Sie Linq zu Entities verwenden, wird der Ausdrucksbaum an die 'Where'-Methode übergeben, dann wird er analysiert und in SQL konvertiert. EF konnte den Indexer-Aufruf einfach nicht in SQL konvertieren. Deshalb wurde das Problem behoben, wenn der einfache Wert übergeben wurde. Fühlen Sie sich frei, Antwort zu akzeptieren, wenn es hilfreich war :) –
Got it. Ich finde es "akzeptabel". :) – user2283231