如何在Hibernate查询语言(HQL)中定义和设置参数?

时间:2012-03-14 20:04:20

标签: c# nhibernate hql

我需要知道我必须在Hibernate查询语言查询的文本中写什么来定义参数,然后我如何为这个参数赋值。例如,看看这段代码:

nhSession
.CreateQuery("INSERT INTO historiccard SELECT * FROM card WHERE game_id={0}")
.SetParameter(0, lobby.getPK());

在game_id =?之后我要写什么?在那之后,我正在将值分配给参数吗?

1 个答案:

答案 0 :(得分:0)

单向: -

nhSession
.CreateQuery("INSERT INTO historiccard SELECT * FROM card WHERE game_id=:id")
.SetInt32("id", lobby.getPK());

您不需要为字符串,日期等添加单引号等,只需使用:varname

您可以使用

指定值
.SetDateTime("varname", DateTime.Now)
.SetInt64("varname", 12345678)
.SetString("varname", "rippo")

您也可以将这些链接在一起。