private void Evict(ORMUserProfile result, NHibernate.ISession session) { foreach (var entity in session.GetSessionImplementation().PersistenceContext.EntitiesByKey.Values.ToArray()) { var evictee = entity as ORMUserProfile; if (evictee != null && evictee.Uri == result.Uri) { session.Evict(evictee); } } }
public override IORMEntity ToORMEntity() { var session = NHibernateSessionController.GetCurrentSession(); var result = new ORMUserProfile(); CopyTo(result, session); // Ensure no copy of result (instance with same key) in session Evict(result, session); return(result); }
protected void CopyTo(ORMUserProfile x, NHibernate.ISession session) { x.Uri = Uri; }