我的数据库中有2个表:
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");
}
}
How can I get all items from the database ordered by group name?
以防我使用Fluent NHibernate v1.2.0.712 .
2 回答
您只需要在条件中添加联接 .
在你的ItemGroup中你必须有一个Item列表,假设你称之为Items
然后在ItemGroupMap中添加
现在,您可以拥有一个ItemGroup列表,其中包含按item_name排序的所有子项