У меня есть 2 таблицы в моей базе данных:Fluent NHibernate Сортировать по недвижимости в родственной Entity
CREATE TABLE [items](
[item_id] [int] IDENTITY(1,1) NOT NULL,
[item_name] [varchar](50) NOT NULL,
[group_id] [int] NOT NULL
)
CREATE TABLE [itemgroup](
[group_id] [int] IDENTITY(1,1) NOT NULL,
[group_name] [varchar](50) NULL
)
и здесь отображение классов для этих объектов:
public class ItemMap : ClassMap<Item>
{
public ItemMap()
{
Table("items");
Id(x => x.Id).Column("item_id");
Map(x => x.Name).Column("item_name");
References(x => x.ItemGroup).Column("group_id").Fetch.Join();
}
}
public class ItemGroupMap : ClassMap<ItemGroup>
{
public ItemGroupMap()
{
Table("itemgroup");
Id(x => x.Id).Column("group_id");
Map(x => x.Name).Column("group_name");
}
}
Как я могу получить все элементы из базы данных, упорядоченной по имени группы?
На всякий случай я использую Fluent NHibernate v1.2.0.712.
В каком методе вы используете критерии, QueryOver, Linq или HQL? – Vadim
@ Vadim Я использую критерии для получения всех элементов, вот пример моего кода: 'using (var session = SessionFactory.OpenSession()) { return session.CreateCriteria (typeof (TEntity)). AddOrder (CreateOrder (CreateOrder) sortedBy, sortDirection)). SetFirstResult ((pageIndex - 1) * pageSize) .SetMaxResults (pageSize) .List(); } ' –
Извините, забыли добавить ' private static Order CreateOrder (строка sortedBy, строка sortDirection) { return new Order (sortedBy, true); } ' sortedBy - это название свойства. –