Разделите запросы LINQ to Entity на разные методы - PullRequest
0 голосов
/ 16 мая 2011

хочу иметь возможность сделать что-то подобное ниже.Но у меня есть проблема, потому что метод 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;
    }

1 Ответ

1 голос
/ 16 мая 2011

Вам нужно использовать 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...