protected void CopyTo(ORMGOGroup x, NHibernate.ISession session) { x.Name = Name; x.DisplayName = DisplayName?.Truncate(200); x.Description = Description?.Truncate(250); x.IsSpecialGroup = IsSpecialGroup; x.SpecialGroup = (int)SpecialGroup; }
private void Evict(ORMGOGroup result, NHibernate.ISession session) { foreach (var entity in session.GetSessionImplementation().PersistenceContext.EntitiesByKey.Values.ToArray()) { var evictee = entity as ORMGOGroup; if (evictee != null && evictee.Name == result.Name) { session.Evict(evictee); } } }
public override IORMEntity ToORMEntity() { var session = NHibernateSessionController.GetCurrentSession(); var result = new ORMGOGroup(); CopyTo(result, session); // Ensure no copy of result (instance with same key) in session Evict(result, session); return(result); }