我已经看到了两种不同的方法来创建通用存储库.这两种方法之间有什么区别(利弊)?请对方法有所区别,因为我对它们之间的区别感兴趣
public interface IRepository<T> where T : class
Run Code Online (Sandbox Code Playgroud)
和
public interface IRepository : IDisposable
Run Code Online (Sandbox Code Playgroud)
功能,灵活性,单元测试有什么不同......?我会得到或失去什么?
它们在依赖注入框架中的注册方式有何不同?
选项1
public interface IRepository<T> where T : class
{
T Get(object id);
void Attach(T entity);
IQueryable<T> GetAll();
void Insert(T entity);
void Delete(T entity);
void SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)
选项2
public interface IRepository : IDisposable
{
IQueryable<T> GetAll<T>();
void Delete<T>(T entity);
void Add<T>(T entity);
void SaveChanges();
bool IsDisposed();
}
Run Code Online (Sandbox Code Playgroud)