Asp.net mvc ASP.NET MVC 4,需要帮助才能使我的通用存储正常工作

Asp.net mvc ASP.NET MVC 4,需要帮助才能使我的通用存储正常工作,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,repository-pattern,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Repository Pattern,我创建了一个通用的存储库 这是我的密码: 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

我创建了一个通用的存储库

这是我的密码:

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);
    }
}
公共接口IGenericRepository:IDisposable其中T:class
{
作废保存();
无效插入(T实体);
无效删除(T实体);
}
公共类GenericRepository:IGenericRepository,其中T:class
{
私有只读DSContext\u上下文;
公共通用存储库()
{
_context=新的DSContext();
}
公共作废保存()
{
_SaveChanges();
}
公共无效插入(T实体)
{
_context.Set().Add(实体);
}
公共作废删除(T实体)
{
_context.Set().Remove(实体);
}
}
这是我的雇主地址。它是空的,没有任何内容,但是employeeRepository是从GenericRepository继承的。我假设“保存、插入、删除”应该在employeeRepository中可用。但当我在服务层中使用employeeRepository时,它们并不存在

public interface IEmployeeRepository
{ 

}

public class EmployeeRepository: GenericRepository<Employee>, IEmployeeRepository
{
    public EmployeeRepository():base()
    {
    }
}
公共接口IEmployeeRepository
{ 
}
公共类EmployeeRepository:GenericRepository、IEEmployeeRepository
{
public EmployeeRepository():base()
{
}
}

我假设您在服务层中使用的是
IEEmployeeRepository
,而不是EmployeeRepository,而且由于IEEmployeeRepository没有这些方法中的任何一种,所以它是有意义的

您是针对接口而不是实现进行编码的,因此,尽管实际对象确实有这些方法,但如果不诉诸反射,您将无法调用它们。您还需要让IEEmployeeRepository从
IGenericRepository
继承来获取其他方法