1

我有一个像这样的存储库:

public class Repository<TEntity> : IRepository<TEntity> where TEntity : class, IEntity
{
    protected readonly IContext _db;

    public Repository(IContext context)
    {
        _db = context;
    }

   ...
}

在此类的方法中,我可以编写包含以下内容的语句:

var regionalAdmins = _db.Users.Include("Areas");

所以我写了一个继承自那个的存储库:

public class AreaRepository : Repository<Area>
{
    public AreaRepository(IContext context) : base (context)
    {
    }

    public new IEnumerable<Area> GetAreas()
    {
        return _db.Users.Include("Areas");
    }
}

在这个级别,虽然我得到了错误:

System.Data.Entity.IDbSet'不包含'Include'的定义,并且找不到接受'System.Data.Entity.IDbSet'类型的第一个参数的扩展方法'Include'

为什么会发生这种情况?我有来自父母的相同背景。

4

1 回答 1

4

Include是在中声明的扩展方法System.Data.Entity.DbExtensions。您可能缺少命名空间的using子句System.Data.Entity

于 2012-04-03T21:56:47.557 回答