如何让NHibernate生成这个t-sql请求?
更新top(n)任务 设置MODIFICATIONS 其中CONDITION
我不想进行交易+批量更新。
答案 0 :(得分:0)
请检查一下:
引用的代码段:
ISession session = sessionFactory.OpenSession();
ITransaction tx = session.BeginTransaction();
string hqlVersionedUpdate = "update versioned Customer set name = :newName where name = :oldName";
int updatedEntities = s.CreateQuery( hqlUpdate )
.SetString( "newName", newName )
.SetString( "oldName", oldName )
.ExecuteUpdate();
tx.Commit();
session.Close();
因此,通过这种方式,我们可以使用HQL(使用我们的域模型)定义UPDATE并在数据库端直接执行udpate
注意:有关详细信息,请查看此博文:Ayende的NHibernate – Executable DML