MonoRail - Как получить записи, где столбец не является нулевым - PullRequest
0 голосов
/ 27 мая 2010

В MonoRail / Active Record, если я хочу получить все записи, у которых определенный столбец равен нулю, я могу сделать:

public static Category[] AllParentCategories()
        {
            return (FindAllByProperty("Parent.Id", null));
        }

Однако, что если я захочу получить все записи, где этот столбец не равен нулю? Я не могу понять, как это сделать с помощью этого метода FindAllByProperty, есть ли другой метод, который является более гибким или способ получения записей с использованием языка запросов, подобного linq?

Спасибо, Justin

1 Ответ

1 голос
/ 27 мая 2010

В NHibernate 2.1 (и, соответственно, Castle ActiveRecord) у вас есть три API запросов, которые вы можете выбрать:

С критериями:

return ActiveRecordMediator<Category>.FindAll(Restrictions.IsNotNull("Parent"));

С Линк:

return (from c in ActiveRecordLinq.AsQueryable<Category>() 
        where c.Parent != null 
        select c).ToArray();

Чтобы получить поддержку Linq, вам понадобятся NHibernate.Linq.dll и Castle.ActiveRecord.Linq.dll (последний выпуск ActiveRecord включает все).

...