还原被删除的情况下我删除类似下面的物体与NHibernate
:NHibernate的会议
var obj = session.Get<MyModel>(some_guid);
session.Delete(obj);
的对象现在是暂时的,MyModel
对象ID为some_guid
在NHibernate
会话被标记为删除的对象。
在我的遗留应用程序之后,我需要取消的一些对象删除在会话中删除。我想下面的解决方法,但没有运气:
var e = ((SessionImpl)session).PersistenceContext.EntityEntries;
var allEntities = e.Keys.Cast<object>().ToList();
var item = allEntities.FirstOrDefault(c => c.Id == some_guid);
session.Refresh(item); // throw an exception
解决方法上面会抛出异常nhibernate instance was not in a valid state