2010-06-03 77 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