如何使用Linq与Castle ActiveRecord

Ron*_*rby 5 .net c# nhibernate orm castle-activerecord

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

使用模式是什么?是Castle.ActiveRecord.Linq可供生产使用?

Mau*_*fer 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();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用ActiveRecordLinq.AsQueryable<T>,例如:

    var blogs = (from b in ActiveRecordLinq.AsQueryable<Blog>() select b).ToList();
    
    Run Code Online (Sandbox Code Playgroud)

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

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