NHibernate查找值

时间:2013-03-12 23:07:14

标签: nhibernate lookup-tables

我正在尝试设置和对象之间的映射,以及它在另一个对象中的查找值。这是我的表:

Orders:
  OrderId int,
  OrderDate datetime,
  StatusId int

Statuses:
  id int
  StatusName varchar(20)

我正在努力建立一种可以让我做这样的事情的关系:

SELECT O.OrderId, S.StatusName as OrderStatus
FROM Orders O
   INNER JOIN Statuses S ON O.StatusId = S.Id

在我的订单映射中,我这样做了:

mapping.HasOne<Statuses>(x => x.StatusId).PropertyRef(x => x.id);

但是当我尝试使用上面的SQL使用HQL查询它时,它不起作用。

然后我尝试将Statuses对象添加到我的Order域对象,如下所示:

public class Order
{
 public virtual long Id { get; set; }
 ... 
 public virtual Statuses StatusList { get; set; }
}

然后像这样做HQL:

SELECT O.OrderId, O.StatusList.StatusName as OrderStatus
FROM Orders O

在我的映射文件中使用它:

mapping.References(b => b.StatusList , "StatusId").PropertyRef(x => x.id);

这样可行,但是当我去保存订单时,它不知道如何处理StatusList属性。它似乎试图保存它,这显然不是我想要的。

总而言之,如何在NHibernate中创建查找映射而不必将其包含在源域模型中(即:Order)?

由于

0 个答案:

没有答案
相关问题