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 void Begin() { if (NHSession.IsNull()) { NHSession = NHibernateSessionManager.OpenSession(FlushMode.Commit); } if (NHSession.Transaction.IsActive == false) { NHSession.Transaction.Begin(IsolationLevel.ReadCommitted); } }
private void CreareUser(ApplicationUser userApp, string parola) { Users user = new Users { Nume = Nume.Text, Prenume = Prenume.Text, Tara = Tara.Text, Judet = Judet.Text, Adresa = Adresa.Text, Username = userApp.UserName, }; var a = NHSession.Getsession().Save(user); }
public void Commit() { if (NHSession.IsNotNull()) { if (NHSession.Transaction.IsActive) { NHSession.Transaction.Commit(); NHSession.Transaction.Begin(IsolationLevel.ReadCommitted); } else { throw new Exception("Не можем произвести Commit(): текущая транзакция у NHSession не активна."); } } else { throw new Exception("Нет информации о текущей NHSession: по всей видимости не был вызван Begin() после отката транзакции."); } }
public void Rollback() { if (NHSession.IsNotNull()) { if (NHSession.Transaction.IsActive) { NHSession.Transaction.Rollback(); } else { throw new Exception("Не можем произвести Rollback(): текущая транзакция у NHSession не активна."); } NHSession.Close(); NHSession.Dispose(); NHSession = null; } else { throw new Exception("Нет информации о текущей NHSession: по всей видимости не был вызван Begin() после отката транзакции."); } }
protected void Page_Load(object sender, EventArgs e) { var a = NHSession.Getsession().QueryOver <Users>().List(); }