Я немного новичок, когда дело доходит до Linq для SQL, но я надеюсь, что вы можете помочь. Я написал следующий оператор Linq to SQL с методами расширения:
Cedb.ClassEvents.Where(c => c.ClassID == 1).Select(c => c).Single()
Где Cedb - это Datacontext, ClassEvents - это таблица (для классов и событий, проводимых на объекте), а ClassID - это уникальный целочисленный ключ.
Этот запрос отлично работает в LinqPad (без Cedb). Когда он возвращается, он говорит, что тип возвращаемого значения - «ClassEvent». В Intellisense в Visual studio он сообщает мне, что типом возврата этого запроса является ClassEvent (созданный в моей модели данных). Однако, когда я пытаюсь поместить результаты в переменную:
var classEvent = Cedc.ClassEvents.Where(c.ClassID == 1).Select(c => c).Single();
тогда я получаю сообщение об ошибке: InvalidCastException: указанное приведение недействительно. То же самое происходит, если я использую класс «ClassEvent» вместо var. Я новичок в этом, но этот кажется скорее настоящим хламом, чем ошибкой. Есть ли что-то в методе Single, что я не знаю, что приводит к ошибке? Любая помощь будет оценена!