这是我到目前为止尝试过的,只是从一些博客中学习,我开始知道它的重要性如何使用通用存储库,我想知道你们如何使用linq to sql,是否有任何好的教程...
interface IBlogRepoService<T> where T:class
{
void Add(T entity);
void Delete(T entity);
T GetById(long Id);
T Get(Func<T, Boolean> where);
IEnumerable<T> GetAll();
IEnumerable<T> GetMany(Func<T, bool> where);
}
但是我很困惑,如何实现它,不同的模型,所以有任何通用模式的教程,你们喜欢分享。
答案 0 :(得分:1)
Linq2SQL的存储库模式有很多例子。请参阅下面的完整示例
答案 1 :(得分:0)
首先,您需要使用ORM(例如Entity Framework或NHibernate)选择数据访问包比使用ADO这样的自己的包装器更容易。一旦确定了实现将使用的包,您将提供一种与该包与数据库的连接进行交互的方法。
使用实体框架,您的实现将隐藏对底层DataContext的访问。使用nHibernate,您的实现隐藏了有关ISession对象的详细信息。
一旦理解了实现隐藏的管道,就可以直接将实体类型(通用类定义中的T)映射到接口提供的基本操作(Add,Delete,GetById等等)