2010-06-03 75 views

回答

14

是的,Castle.ActiveRecord.Linq已準備就緒。它包含在最新的ActiveRecord版本中。實際的Linq提供程序是在NHibernate.Linq.dll中實現的,ActiveRecord Linq dll是一個很薄的傳遞層。有使用它基本上有兩種方式:

  1. 讓你的實體從ActiveRecordLinqBase<T>繼承,然後詢問:

    var blogs = (from b in Blog.Queryable select b).ToList(); 
    
  2. 使用ActiveRecordLinq.AsQueryable<T>,如:

    var blogs = (from b in ActiveRecordLinq.AsQueryable<Blog>() select b).ToList(); 
    

查看tests獲取一些示例代碼。

UPDATE:如ActiveRecord的3.0的β,LINQ的被集成到Castle.ActiveRecord.dll,和NHibernate.Linq.dll是沒有更多的(集成到NHibernate.dll作爲NHibernate的3)

+0

我您的編輯回答,所以我可以upvote它。出於某種原因,它不會讓我讚揚,直到編輯。 – 2010-06-03 18:45:47