2012-03-30 10 views
0

Fetch()/ FetchMany()メソッドを汎用リポジトリに統合しようとしていますが、少し苦労しています。Nhibernateリポジトリパターンでフェッチする

//Interface 
public interface IRepository<T> where T : BaseEntity 
{ 
    IQueryable<T> Find(System.Linq.Expressions.Expression<System.Func<T, bool>> expression); 

    IQueryable<T> Fetch<TRelated>(Expression<Func<T, TRelated>> fetchExpression); 

    void Insert(T entity); 

    void Update(T entity); 

    void Delete(T entity); 
} 

//Implementation 
     public IQueryable<TRelated> Fetch<TRelated>(Expression<Func<T, bool>> expression, Expression<Func<T,IEnumerable<TRelated>>> fetchExpression) 
     { 
      return _session.Query<T>() 
        .Fetch(fetchExpression); 
     } 

私の問題は、NHFetchRequestをIQueryableに変換しようとしていることです。また

、あなたが

Thxを

答えて

4

....(?どこから発言)私はこれにIQueryableを渡す可能性が離れている、または私はちょうどこの上に場所を追加する方が良いだろう実装例を見つけることができますhere

+0

投稿を読みましたが、リポジトリを使用し、フェッチプロバイダを含むサンプルクライアントコードがありますか?私は物事をまとめる方法がまだ明確ではない。 – hardywang

+0

githubの例があります。あなたはその投稿にリンクを見つけることができます – Sly

関連する問題