如何通过在Nhibernate 3.3.3.4001中向Session.Delete(...)发送查询来删除对象

时间:2014-03-27 10:05:54

标签: c# nhibernate

我有以下代码块,最终应删除记录。

long id = 81;
SessionInstance.Delete("from Core.Domain.Model.Person as obj where obj.Id =:id", id, NHibernateUtil.Int64);

但是在将Nhibernate版本升级到3.3.3.4001之后,此代码有一条例外:

  

字典中没有给定的密钥。

为什么?

1 个答案:

答案 0 :(得分:3)

如果你想使用位置参数(你需要),语法有点不同:

session.Delete("from Product p where p.ProductId = ?", id, NHibernateUtil.Int32);