1

该场景是以下内容的(更复杂的)版本:

IList<T> ts = Session.QueryOvery<T>().List();

// modify data of multiple objects
ts[0].Foo = "foo0";
ts[1].Foo = "foo1";

using (ITransaction trx = Session.BeginTransaction())
{
   // save only one object
   Session.Save (ts[0]);
   trx.Commit();
}

随着 NH 的发展,这也会ts[1]默认保存,以防止过时状态(旁注:我们喜欢控制我们的 SQL,所以我们通过设置将其关闭Session.FlushMode=FlushMode.Never)。

真正让我烦恼的是,即使Show_SQL被激活,也没有为ts[1]通过刷新确定发送到数据库的更新显示 sql。

有什么办法可以让那些出现吗?

4

1 回答 1

0

https://stackoverflow.com/a/9403516/1236044中所述,您只需将adonet.batch_size设置值添加0到您的配置中:

<property name="adonet.batch_size">0</property>
于 2013-03-15T13:22:03.443 回答