我有这个:
public interface IRepository<T> where T : class
{
void Delete(T entity);
void Add(T entity);
void Attach(T entity);
void Detach(T entity);
void SaveChanges();
}
现在对于我的每个实体,我制作了实现通用 IRepository => 的具体类
public class SchoolclassRepository : IRepository<Schoolclass>
{
public void Delete(Schoolclass entity)
{
throw new NotImplementedException();
}
public void Add(Schoolclass entity)
{
throw new NotImplementedException();
}
public void Attach(Schoolclass entity)
{
throw new NotImplementedException();
}
public void Detach(Schoolclass entity)
{
throw new NotImplementedException();
}
public void SaveChanges()
{
throw new NotImplementedException();
}
}
在我的 ViewModel 的构造函数(mvvm 模式)中,我这样做 =>
IRepository<Schoolclass> repo = new SchoolclassRepository();
当我必须在每个实体类中为我的 CRUD 操作编写代码时,IRepository 有什么优势?
在 Customer、Product、Pupil 中,我实现了、IRepository<Product>
等任何类......并且我实现了接口的方法。IRepository<Customer>
IRepository<Pupil>
为什么我不能说=>
SchoolclassRepository repo = new SchoolclassRepository(); ???
我不关心是否有可能为小型应用程序编写单元测试。