很抱歉,如果之前有人询问,我会进行搜索但找不到任何内容。
是否可以在nHibernate中执行内联sql?我有类似的东西,我想对dB运行:
_session.CreateSQLQuery(
@"update things
set defaultThing = 0 where parentId = :parentId AND thingId <> :thingId")
.SetInt32("parentId ", parent.Id)
.SetInt32("thingId", thing.Id)
;
我想我可以遍历一堆“事物”并将defaultThing设置为false,然后调用_session.Update(thing)
,但如果我能按照上面的描述进行操作,那就太棒了。
答案 0 :(得分:4)
是的,只需对该查询使用ExecuteUpdate()
即可。它相当于IDbCommand.ExecuteNonQuery()
。
正如凯提到的,你也可以使用HQL。查看12.3. DML-style operations