2014-03-27 30 views
3

我有以下應該最終刪除記錄的代碼塊。如何通過向Nhibernate中的Session.Delete(...)發送查詢刪除對象3.3.3.4001

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

請'Core.Domain.Model.Person'的補充,交易的C#代碼CRUD – George

+0

從哪個版本升級? – hazzik

+0

奇怪的一個,我假設你已經嘗試'來自Person的組合,其中Id =:id'和'來自Core.Domain.Model.Person其中Id =:id' – Rippo

回答

3

如果你想使用位置參數(你需要),語法是有點不同:

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