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

C# 如何在Hibernate查询语言(HQL)中定义和设置参数?,c#,nhibernate,hql,C#,Nhibernate,Hql,我需要知道我必须在Hibernate查询语言查询的文本中写入什么来定义一个参数,然后如何为这个参数赋值。例如,请看以下代码: nhSession .CreateQuery("INSERT INTO historiccard SELECT * FROM card WHERE game_id={0}") .SetParameter(0, lobby.getPK()); 游戏结束后我必须写些什么?。之后,我给参数赋值的方式正确吗?单向:- nhSession .CreateQuery("INSERT

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

nhSession
.CreateQuery("INSERT INTO historiccard SELECT * FROM card WHERE game_id={0}")
.SetParameter(0, lobby.getPK());
游戏结束后我必须写些什么?。之后,我给参数赋值的方式正确吗?

单向:-

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")

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

只是想知道为什么这项投票被否决?要知道我哪里错了,请你给我一个评论。很令人沮丧。对不起,我不知道发生了什么事。你的评论对我很有用。谢谢。