2013-03-15 53 views
1

的方案是一種(更復雜)以下的版本不顯示SQL:會議沖洗持續時未保存的實體

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,而這些更新肯定會通過刷新發送到數據庫。

有什麼方法可以讓這些顯示出來嗎?

+0

這可能會感興趣:http://stackoverflow.com/a/9403516/1236044 – jbl 2013-03-15 09:52:00

+0

感謝,jbl。這工作。你是否可以這樣善良地發佈這個答案,以便我可以標記它? – 2013-03-15 13:13:36

回答

相關問題