希望能够在下面执行此类操作。但是我有一个问题,因为GetStudentByName方法不知道什么类型的数据。
我能写下“data = data.Where(s => s.name ==”some name“);”没有任何问题。但是我如何将其划分为不同的方法呢?
private IQueryable GetStudents()
{
var data = from a in db.Anvandning
select a;
return data;
}
public IQueryable GetStudentByName(string name)
{
var data = GetStudents();
data = data.Where(s => s.name == name); <-- Error occurs
return data;
}
答案 0 :(得分:1)
您需要使用IQueryable<T>
代替IQueryable
,例如
private IQueryable<Student> GetStudents()
{
var data = from a in db.Anvandning
select a;
return data;
}
public IQueryable<Student> GetStudentByName(string name)
{
var data = GetStudents();
data = data.Where(s => s.name == name);
return data;
}
请注意,可以更简单地编写这些方法:
private IQueryable<Student> GetStudents()
{
return db.Anvandning.Select(x => x);
}
public IQueryable<Student> GetStudentByName(string name)
{
return GetStudents().Where(s => s.name == name);
}