2011-12-17 57 views
0

這是我已經嘗試到目前爲止,只是從一些博客學習,我來了解它是如何重要的使用通用知識庫,我想知道你是如何與人做linq SQL,是有它的任何好的教程..asp.net mvc3與通用存儲庫模式LInq到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)項目層次結構。

回答

0

首先,您需要使用ORM如實體框架或NHibernate的會比寫身邊像ADO自己的包裝更容易地選擇一個數據訪問包。一旦你決定了你的實現將使用的包,你將提供一種方式來與該包與數據庫的連接進行交互。

使用實體框架,您的實現將隱藏對底層DataContext的訪問。使用nHibernate,你的實現隱藏了關於ISession對象的細節。

一旦你理解了實現隱藏的管道,將實體類型(泛型類定義中的T)映射到接口提供的基本操作(添加,刪除,GetById等)非常簡單。

+0

這意味着我們不能使用linq到sql?爲通用資源庫?因爲我是初學者,你能幫我實現這個問題嗎,我的大學項目 – 2011-12-17 16:39:39

+0

感到震驚,如果你使用entityframework,你將在存儲庫方法中使用linq2sql。如果您使用的是nhibernate,則可以使用它們的linq來指定標準方法(http://nhforge.org/blogs/nhibernate/archive/2009/12/17/queryover-in-nh-3-0.aspx)。通用知識庫的意義在於隱藏來自消費者 – Jason 2011-12-17 16:40:37

+0

的底層數據訪問策略(即linq2sql),以便更好地將Linq用於sql或實體框架?我正在開發一個電子學習項目,所以考慮我選擇的?你能上網嗎?這樣我就會和你聊天。我們正在聊天。 – 2011-12-17 16:47:22