DbContext и Generics - PullRequest
       39

DbContext и Generics

1 голос
/ 27 июня 2011

С DataContext я мог бы сделать что-то вроде

public IQueryable<T> All()
{
   return db.CreateObjectSet<T>().AsQueryable();
}

(как часть общего класса репозитория - остальные действия CRUD обрабатываются аналогичным образом)

Я смотрю, возможно ли то же самое с DbContext: т.е. может ли возвращаться Queryable из T? Запись выглядит так, как будто это может помочь, но не совсем ... идеи кто-нибудь?

Ответы [ 2 ]

4 голосов
/ 27 июня 2011

DbSet реализует IQueryable

это должно работать:

public IQueryable All()
{
    return db.Set<T>();
}
3 голосов
/ 27 июня 2011

Если вы хотите вернуть Queryable, это будет что-то вроде:

public virtual IQueryable GetAll()
{
    return dbContext.Set<T>();
}

На самом деле, я недавно писал в блоге о том, как создать общий репозиторий с использованием EF4.1, посмотрите:

http://davidandersonlino.net/blog/2011/04/28/generic-repository-pattern-com-entity-framework-4-1/

Надеюсь, я ответил на ваш вопрос.

...