EF CTP5 - IDbSet.Include - PullRequest
       27

EF CTP5 - IDbSet.Include

1 голос
/ 27 марта 2011

У меня есть общий репозиторий, и у меня возникли некоторые проблемы с методом расширения Include. Мой репозиторий выглядит так:

public class Repository<TEntity> : IRepository<TEntity> {
    private IDbSet<TEntity> _entitySet;

    /*
        some init code
    */

    public TEntity GetByKey(params object[] keys) {
        return _entitySet.Find(keys);
    }

    /*
        more db query methods
    */

    public IRepository<TEntity> Include(Expression<Func<TEntity, object>> selector) {
        _entitySet = _entitySet.Include(selector) as IDbSet<TEntity>;
        return this;
    }
}

Это должно называться примерно так:

var blogRepository = new Repository<Blog>();
var blogEntry = blogRepository
    .Include(b => b.Posts)
    .Include(b => b.Someothercollection)
    .GetByKey(1);

Проблема здесь в том, что когда я возвращаю возвращаемое значение «Включить» в моем хранилище в IDbSet <>, я всегда получаю нулевое значение. Я, должно быть, делаю что-то не так, но я не уверен, что. Есть идеи?

Спасибо

...