Я подозреваю, что проблема в коде, помеченном ...
, который вы не показываете.
Убедитесь, что полностью оценили ваш запрос, прежде чем его вернуть. Например, вместо того, чтобы просто делать:
return studentQry;
Попробуйте сделать:
return studentQry.ToList();
Edit:
Теперь, когда вы изменили свой вопрос, чтобы отразить, что вы возвращаете IQueryable<T>
вместо IEnumerable<T>
, появилась отдельная проблема. Возвращая IQueryable<T>
из вашего метода, вы предполагаете, что тип может быть «запрошен» непосредственно на стороне сервера.
Однако WCF сериализует это по проводам и нуждается в конкретном типе реализации. IEnumerable<T>
разрешено, но не IQueryable<T>
. Вы должны переключить его на тип, который будет полностью оценивать, чтобы результаты могли быть переданы правильно.