私は次のモック可能なリポジトリパターンを試しています。
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」は、「System.Data.Linq.ITable」の一致する戻りタイプがないため、「IEmployeeRepository.Employees」を実装できません。
しかし、Table<Employee>
継承するITable<Employee>
ので、インターフェイスを実装するのに適したリターンタイプではないでしょうか。