我正在尝试使用伪造的EF 4.1 DataContext来测试存储库而不测试数据库(由于部署问题)
我正在做这样的事情
public interface IEmployeeContext
{
IDbSet<Department> Departments { get; }
IDbSet<Employee> Employees { get; }
int SaveChanges();
}
public class EmployeeContext : DbContext, IEmployeeContext
{
public IDbSet<Department> Departments { get; set; }
public IDbSet<Employee> Employees { get; set; }
}
public class FakeEmployeeContext : IEmployeeContext
{
public IDbSet<Department> Departments { get; set; }
public IDbSet<Employee> Employees { get; set; }
public FakeEmployeeContext ()
{
Departments = new FakeDbSet<Department>();
Employees = new FakeDbSet<Employee>();
}
}
大部分时间都很有用,但我的问题是有时在我的代码中我会使用以下内容:
context.Entry(department).State = EntityState.Modified;
它抱怨
'IEmployeeContext'不包含'Entry'的定义
我似乎无法理解我需要在模式中更改以允许我访问context.Entry和context.Database部分
答案 0 :(得分:1)
您收到该特定错误的原因是IEmployeeContext
不包含名为Entry
的方法。
Entry
是DbContext
的成员。