asp.net mvc3与通用存储库模式LInq到sql

时间:2011-12-17 16:22:24

标签: asp.net-mvc-3 linq-to-sql repository-pattern

这是我到目前为止尝试过的,只是从一些博客中学习,我开始知道它的重要性如何使用通用存储库,我想知道你们如何使用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);

    }

但是我很困惑,如何实现它,不同的模型,所以有任何通用模式的教程,你们喜欢分享。

  1. 我想知道应该是asp.net mvc3的项目层次结构,(linq to sql with generic repository pattern)。

2 个答案:

答案 0 :(得分:1)

Linq2SQL的存储库模式有很多例子。请参阅下面的完整示例

http://www.codefrenzy.net/2011/10/06/a-generic-implementation-of-the-repository-pattern-for-linq-to-sql/

答案 1 :(得分:0)

首先,您需要使用ORM(例如Entity Framework或NHibernate)选择数据访问包比使用ADO这样的自己的包装器更容易。一旦确定了实现将使用的包,您将提供一种与该包与数据库的连接进行交互的方法。

使用实体框架,您的实现将隐藏对底层DataContext的访问。使用nHibernate,您的实现隐藏了有关ISession对象的详细信息。

一旦理解了实现隐藏的管道,就可以直接将实体类型(通用类定义中的T)映射到接口提供的基本操作(Add,Delete,GetById等等)