我正试图松散地耦合这些代码,但我不确定我应该怎么做。
我正在使用Entity Framework,而DbContext
是实体对象TMeasure
使用的继承类。当我运行此代码时,我收到此错误:
'System.Data.Entity.DbContext'不包含'TMeasures'的定义,也没有扩展方法'TMeasures'接受类型为'System.Data.Entity.DbContext'的第一个参数'(你丢失了吗?) using指令或程序集引用?)
有人可以帮我这个吗?
谢谢!
class MeasureRepository: IMeasureRepository
{
private DbContext db;
public MeasureRepository(DbContext db)
{
this.db = db;
}
public List<TMeasure> GetAll()
{
var results = (from i in db.TMeasures
orderby i.strMeasure
select i).ToList();
return results;
}
}
答案 0 :(得分:2)
您应该创建自己的上下文:
//Internal class recommended
public class MeasuringContext : DbContext
{
public DbSet<Measure> Measures { get; set; }
}
然后使用此上下文而不是通用的上下文:
class MeasureRepository : IMeasureRepository
{
private MeasuringContext db;
//...
}