Spojrzałem na różne rozwiązania tutaj, ale żaden z nich nie wydaje się działać dla mnie, prawdopodobnie dlatego, że jestem zbyt nowy, aby wszystko to i po omacku mam trochę po omacku. W poniższym kodzie obiekt "termin" zawiera kilka podstawowych informacji LDAP. Z listy takich obiektów chcę mieć możliwość uzyskania jednego rekordu na podstawie identyfikatora pracownika. Mam nadzieję, że ten kod jest wystarczający do zilustrowania. FTR, próbowałem różnych sformułowań, w tym próbowałem użyć i wybrać. Wszystkie zawodzą z błędem podanym w powyższym tytule.LINQ to Entities nie rozpoznaje metody "System.String get_Item (System.String)" metoda
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();
}
Dzięki. To naprawiło błąd. Czy możesz mi powiedzieć * dlaczego * to naprawił? Czy to wykracza poza zakres tego forum? – user2283231
@ user2283231 Podczas używania Linq do Entities, drzewo wyrażeń jest przekazywane do metody "Where", następnie jest analizowane i konwertowane na SQL. EF po prostu nie mógł przekonwertować wywołania indeksu do SQL. Właśnie dlatego przekazywanie zwykłej wartości rozwiązało problem. Przyjmij odpowiedź, jeśli to było pomocne :) –
Rozumiem. Uważam, że jest "do przyjęcia". :) – user2283231