You can attach to the session the detached object, see http://rmfusion.com/open_source/nhibernate/nhibernate_net_object_persistence.htm
here said
by reattaching the object to a new Persistent Manager (ISession). The object state will then be synchronized with the database again, at the end of the transaction.
There are other orm such entity framework, but depend of course of the architecture, in general, for a game, you should load from database, use in cache , and in a few events, update the database. Is not a good idea stay connected, and trying to synchronize all the time .
Also, I recommend you if the lazy loading doesn't seems to work for you, review the database, review the schema, and thing first in the DB than the model. (Thinking in performance) maybe you can normalize-denormalize tables