Сначала я не использую dynamic
, я просто использую такой код, и он работает хорошо.
List<Student> result2 = StudentRepository.GetStudent(sex,age).ToList();
IQueryable rows2 = result2.AsQueryable();
Но когда я изменяю его на dynamic
, это неправильно.
dynamic result = GetPeopleData(sex,age);
IQueryable rows = result.AsQueryable();
и я добавляю такой метод, я создаю проект, который показывает, что в списке нет метода AsQueryable. Как его изменить?
private dynamic GetPeopleData(int sex, int age)
{
if(sex>30)
return StudentRepository.GetStudent(sex,age).ToList();
else
return TeacherRepository.GetTeacher(sex, age).ToList();
}
GetPeopleData
, но вызываете методGetStudentData
. Это правильно? - person aush   schedule 06.03.2015dynamic
. Вам почти никогда не нужно использоватьdynamic
. Кроме того, какой смысл создаватьIQueryable
изList<T>
? ВызовToList()
в вашем репозитории нетерпеливо извлекает все записи и загружает их в память; вы теряете любую возможность выполнения операторов запросов на сервере. - person Mike Strobel   schedule 09.03.2015