私は次のモック可能なリポジトリパターンを試しています。
public interface IEmployeeRepository
{
ITable<Employee> Employees { get; }
}
ITableこれは、オブジェクトのを返すことができるコンテナを表しEmployeeます。リポジトリに基づいてモックオブジェクトを作成できるようにしたいだけでなく、Linq-to-SqlDataContextにリポジトリインターフェイスを実装させたいと考えています。DataContextしたがって、部分クラスを使用して、実装する型を宣言することができると思いました。これは、型IEmployeeRepositoryの自動生成されたメンバーがすでにあるためです。EmployeesTable<Employee>
public partial class MyDataContext : IEmployeeRepository { }
その結果、次のエラーメッセージが表示されます。
「MyDataContext」は、インターフェースメンバー「IEmployeeRepository.Employees」を実装していません。「MyDataContext.Employees」は、「System.Data.Linq.ITable」の一致する戻りタイプがないため、「IEmployeeRepository.Employees」を実装できません。
しかし、Table<Employee>継承するITable<Employee>ので、インターフェイスを実装するのに適したリターンタイプではないでしょうか。