我正在试验以下可模拟的存储库模式:
public interface IEmployeeRepository
{
ITable<Employee> Employees { get; }
}
这表示一个能够返回一个对象ITable
的容器。Employee
我希望能够基于存储库创建一个模拟对象,并让我的 Linq-to-SqlDataContext
实现存储库接口。所以我想我可以只使用部分类来声明我的DataContext
类型来实现IEmployeeRepository
,因为它已经有一个自动生成Employees
的类型成员Table<Employee>
:
public partial class MyDataContext : IEmployeeRepository { }
结果,我收到以下错误消息:
“MyDataContext”未实现接口成员“IEmployeeRepository.Employees”。“MyDataContext.Employees”无法实现“IEmployeeRepository.Employees”,因为它没有“System.Data.Linq.ITable”的匹配返回类型。
但是Table<Employee>
继承ITable<Employee>
,那么它不应该是一个合适的返回类型来实现接口吗?