Как использовать Linq с замком ActiveRecord - PullRequest
5 голосов
/ 03 июня 2010

Я играю с Castle ActiveRecord и заметил, что в загрузку включен файл Castle.ActiveRecord.Linq.dll. Я не нашел никакой документации по использованию Linq с ActiveRecord, только некоторые старые сообщения в блоге .

Что такое шаблон использования? Castle.ActiveRecord.Linq готов к использованию?

1 Ответ

14 голосов
/ 03 июня 2010

Да, Castle.ActiveRecord.Linq готов к производству. Он включен в последнюю версию ActiveRecord. Фактический поставщик Linq реализован в NHibernate.Linq.dll, ActiveRecord Linq dll представляет собой тонкий сквозной слой. Есть два основных способа его использования:

  1. Заставьте ваши объекты наследоваться от ActiveRecordLinqBase<T>, а затем запросить:

    var blogs = (from b in Blog.Queryable select b).ToList();
    
  2. Использование ActiveRecordLinq.AsQueryable<T>, например ::

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

Посмотрите на тесты для примера кода.

ОБНОВЛЕНИЕ : начиная с бета-версии ActiveRecord 3.0, Linq интегрирован в Castle.ActiveRecord.dll, а NHibernate.Linq.dll больше нет (интегрирован в NHibernate.dll с NHibernate 3)

...