C#继承和接口混淆
本文关键字:接口 继承 | 更新日期: 2023-09-27 18:00:13
我正在尝试使用EF 4.1 DataContext的fakes来测试存储库,而不测试数据库(由于部署问题)
我正在做类似的事情
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;
它抱怨
"IEemployeeContext"不包含"Entry"的定义
我似乎无法理解我需要在模式中改变什么才能访问上下文。条目和上下文。数据库部分
出现特定错误的原因是IEmployeeContext
不包含名为Entry
的方法。
CCD_ 3是CCD_。