汎用リポジトリを作成しました
ここに私のコードがあります:
public interface IGenericRepository<T> : IDisposable where T: class
{
void Save();
void Insert(T entity);
void Delete(T entity);
}
public class GenericRepository<T> : IGenericRepository<T> where T: class
{
private readonly DSContext _context;
public GenericRepository()
{
_context = new DSContext();
}
public void Save()
{
_context.SaveChanges();
}
public void Insert(T entity)
{
_context.Set<T>().Add(entity);
}
public void Delete(T entity)
{
_context.Set<T>().Remove(entity);
}
}
これが私のemployeeRepositoryです。その空、そこには何もありませんが、employeeRepository は GenericRepository から継承されます。「保存、挿入、削除」はemployeeRepositoryで利用できるはずだと思います。しかし、サービスレイヤーでemployeeRepositoryを使用すると、それらはありません。
public interface IEmployeeRepository
{
}
public class EmployeeRepository: GenericRepository<Employee>, IEmployeeRepository
{
public EmployeeRepository():base()
{
}
}