我正在使用EF 6.x与MVC 4和VS2010。
我正在测试一个应用程序,我从现有数据库创建了数据库模型,实际上我已经将Edmx
对象添加到了应用程序中。我正处于测试通用存储库和工作统一的早期阶段。我复制/粘贴了一段代码,但ASP.NET website稍作调整,但我遇到ObjectContext
没有Set()
,Entry()
等功能的问题, Find()
等。我尝试关注this answer on SO并将ObjectContext
包裹在DbContext
中:
public class GenericRepository<TEntity> where TEntity : class
{
private DbContext _dbcontext;
private StudentContext _context;
private DbSet<TEntity> _dbSet;
public GenericRepository(StudentContext context)
{
this._context = context;
this._dbcontext = new DbContext(_context, true); // type mismatch of input parameters
this._dbSet = _dbcontext.Set<TEntity>();
}
// ...
}
但由于输入参数错误,编译器不接受它。 _context
源自ObjectContext
。我很惊讶,因为在阅读this page后,我认为如果我提供DbContext(ObjectContext objectContext, bool dbContextOwnsObjectContext)
,构造函数DbContext
可以创建StudentContext
对象。
我错过了什么?