【发布时间】:2009-12-05 20:50:16
【问题描述】:
我见过两种不同的创建通用存储库的方法。这两种方法有什么区别(优点和缺点)? 请忽略方法上的差异,因为我对
public interface IRepository<T> where T : class
和
public interface IRepository : IDisposable
在功能、灵活性、单元测试方面有什么不同...?我会得到什么或失去什么?
它们在依赖注入框架中的注册方式有什么不同吗?
选项 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();
}
选项 2
public interface IRepository : IDisposable
{
IQueryable<T> GetAll<T>();
void Delete<T>(T entity);
void Add<T>(T entity);
void SaveChanges();
bool IsDisposed();
}
【问题讨论】:
标签: c# linq generics repository