How to use Linq with Castle ActiveRecord
I am playing around with Castl开发者_运维知识库e 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?
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:
Make your entities inherit from
ActiveRecordLinqBase<T>
, then to query:var blogs = (from b in Blog.Queryable select b).ToList();
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)
精彩评论