How to use Linq with Castle ActiveRecord

走远了吗. 提交于 2019-12-08 23:34:19

问题


I am playing around with Castle ActiveRecord and noticed that the download included the file, Castle.ActiveRecord.Linq.dll. I haven't found any documentation for using Linq with ActiveRecord, only some old blog posts.

What is the usage pattern? Is Castle.ActiveRecord.Linq ready for production use?


回答1:


Yes, Castle.ActiveRecord.Linq is production ready. It's included in the latest ActiveRecord release. The actual Linq provider is implemented in NHibernate.Linq.dll, the ActiveRecord Linq dll is a thin pass-through layer. There are basically two ways to use it:

  1. Make your entities inherit from ActiveRecordLinqBase<T>, then to query:

    var blogs = (from b in Blog.Queryable select b).ToList();
    
  2. Use ActiveRecordLinq.AsQueryable<T>, e.g.:

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

Look at the tests for some sample code.

UPDATE: as of ActiveRecord 3.0 beta, Linq is integrated into Castle.ActiveRecord.dll, and NHibernate.Linq.dll is no more (integrated into NHibernate.dll as of NHibernate 3)



来源:https://stackoverflow.com/questions/2967777/how-to-use-linq-with-castle-activerecord

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!