问题
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:
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)
来源:https://stackoverflow.com/questions/2967777/how-to-use-linq-with-castle-activerecord