public void Delete <T>(T entity) where T : class { if (entity == null) { return; } try { entity = entity.Unproxy(); if (PersistenceValidationContext.Found()) { PersistenceValidationContext.Validate(entity).OnDelete(); } NHSession.Delete( NHSession.Merge(entity) ); } catch (ValidationException) { throw; } catch (Exception ex) { Log.Error("При попытке сохранения объекта в БД возникла ошибка:\r\n{0}", ex); throw; } }
public T Save <T>(T entity, string validationContext = null) where T : class { try { entity = entity.Unproxy(); if (PersistenceValidationContext.Found()) { PersistenceValidationContext.Validate(entity).OnSave(); } return(NHSession.Merge(entity)); } catch (ValidationException ex) { if (validationContext.Found()) { ex.FieldName = validationContext + (ex.FieldName.IsNotEmpty() ? "." + ex.FieldName : null); } throw; } catch (Exception ex) { Log.Error("При попытке сохранения объекта в БД возникла ошибка:\r\n{0}", ex); throw; } }
public IADOPersister CreateADOPersister(IInitializationStrategy initializationStrategy, Action<IPersistenceValidationContext> initializationAction) { var adoPersister = new global::NHibernateContext.ADOPersister.ADOPersister(NHibernateSessionManager); var actualInitializationStrategy = initializationStrategy ?? DefaultInitializationStrategy(adoPersister); var actualInitializationAction = initializationAction ?? DefaultInitializationAction(); var persistenceValidationContext = new PersistenceValidationContext(actualInitializationStrategy); actualInitializationAction.Invoke(persistenceValidationContext); persistenceValidationContext.EnsureNotEmpty(); adoPersister.Apply(persistenceValidationContext); return adoPersister; }
public IADOPersister CreateADOPersister(IInitializationStrategy initializationStrategy, Action <IPersistenceValidationContext> initializationAction) { var adoPersister = new global::NHibernateContext.ADOPersister.ADOPersister(NHibernateSessionManager); var actualInitializationStrategy = initializationStrategy ?? DefaultInitializationStrategy(adoPersister); var actualInitializationAction = initializationAction ?? DefaultInitializationAction(); var persistenceValidationContext = new PersistenceValidationContext(actualInitializationStrategy); actualInitializationAction.Invoke(persistenceValidationContext); persistenceValidationContext.EnsureNotEmpty(); adoPersister.Apply(persistenceValidationContext); return(adoPersister); }