如何使用Linq与Castle ActiveRecord

我正在玩Castle ActiveRecord并注意到下载包含文件Castle.ActiveRecord.Linq.dll 。 我没有找到任何使用Linq和ActiveRecord的文档,只有一些 旧 博客文章 。

使用模式是什么? Castle.ActiveRecord.Linq是否Castle.ActiveRecord.Linq准备好投入生产?

是的,Castle.ActiveRecord.Linq已准备就绪。 它包含在最新的ActiveRecord版本中。 实际的Linq提供程序在NHibernate.Linq.dll中实现,ActiveRecord Linq dll是一个瘦的直通层。 基本上有两种使用方法:

  1. 让您的实体从ActiveRecordLinqBaseinheritance,然后查询:

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

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

查看一些示例代码的测试 。

更新 :从ActiveRecord 3.0测试版开始,Linq被集成到Castle.ActiveRecord.dll中,并且NHibernate.Linq.dll不再存在(从NHibernate 3开始集成到NHibernate.dll中)