Я пытаюсь использовать подделки для 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
Я не могу понять, что мне нужно изменить в шаблоне, чтобы дать мне доступ к контексту. Вход и контекст. Разделы базы данных