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; } }