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,並且沒有骰子!
此外,有沒有走,我可以在一個IQueryable的傳遞到這個(比如來自哪裏?),或者我會更好,只是增加了哪裏到這個....
THX
我看過您的文章,但是您是否有一個示例客戶端代碼,它使用存儲庫幷包含您的提取提供程序?我還不清楚如何把事情放在一起。 – hardywang 2012-09-12 00:08:10
在github上有一個例子。你可以在該帖子中找到鏈接 – Sly 2012-09-12 06:46:26