使用NHibernate填充现有实体

时间:2009-07-10 00:37:52

标签: nhibernate

使用NHibernate,是否可以使用查询结果填充现有对象,而不是返回新实体?例如:

var foo = new Foo();
session.GetById(foo, id);

1 个答案:

答案 0 :(得分:0)

嗯......有点......如果你的对象是瞬态的,你可以Session.Get<Foo>(id)另一个对象进入NH身份地图,然后手动将其字段复制到你的对象中。如果您的对象是持久的(附加到会话),您可以Session.Refresh(foo)从数据库中重新检索它。

我猜你可以尝试在你的瞬态实例上做Session.Lock来重新连接到会话然后Session.Refresh来刷新它......应该工作......至少在理论上......