Jestem trochę początkujący, jeśli chodzi o Linq do SQL, ale mam nadzieję, że możesz pomóc. Pisałem następujące LINQ to SQL oświadczenie z rozszerzeniem metody:Dlaczego otrzymuję komunikat "Niepoprawna obsada" podczas korzystania z Linq do SQL?
Cedb.ClassEvents.Where(c => c.ClassID == 1).Select(c => c).Single()
Gdzie CEDB jest DataContext, ClassEvents jest stół (do zajęć i imprez odbywają się w zakładzie) i ClassID jest unikalnym kluczem całkowitą.
To zapytanie działa poprawnie w LinqPadzie (bez programu Cedb). Po powrocie mówi, że typem powrotu jest "ClassEvent". W Intellisense w Visual studio mówi mi, że typem zwrotnym tego zapytania jest ClassEvent (utworzony w moim modelu danych). Jednak, gdy staram się umieścić wyniki w zmiennej:
var classEvent = Cedc.ClassEvents.Where(c.ClassID == 1).Select(c => c).Single();
następnie pojawia się błąd: InvalidCastException: Określony oddanych nie jest prawidłowy. To samo dzieje się, jeśli używam klasy "ClassEvent" zamiast var. Jestem nowy w tym, ale ten wydaje się raczej prawdziwym dunem, niż błędem. Czy istnieje coś o pojedynczej metodzie, której nie znam, która prowadzi do błędu? Każda pomoc będzie doceniona!
Dzięki za odpowiedź, niestety oznacza to, że nie możemy używać Linq do SQL, aby rozmawiać z bazą danych który może mieć nieco inny schemat? – jpierson