[NHibernate] Session Update 奇怪的寫法

Posted by Harry Chang on July 12, 2016

最近在做產品的產品,底層是使用NHibernate,Review 時發現同仁在 Update Table 有一些多餘的寫法,

如下:

1
2
3
4
var apply = Session.Get<Apply>("key123");
    apply.Usr="Harry";
    Session.Update(apply);
    Session.Flush();

先透過Session Get Table 資料,改完值後再Update,

看起來很直覺,但其實沒有必要,直接這樣即可,

1
2
3
    var apply = Session.Get<Apply>("key123");
    apply.Usr="Harry";
    Session.Flush();

因為NHibernate 會監控Load 出來的物件,只要有異動該物件就會直接幫我們異動Table了。



icon_wechat.png