public void SaveChanges(EntitySession session) { if (session.HasChanges()) { var conn = GetConnection(session); var updateSet = new DbUpdateSet(session, this.DbModel, conn); var batchMode = ShouldUseBatchMode(updateSet); if (batchMode) { SaveChangesInBatchMode(updateSet); } else { SaveChangesNoBatch(updateSet); } } //commit if we have session connection with transaction and CommitOnSave var sConn = session.CurrentConnection; if (sConn != null) { if (sConn.DbTransaction != null && sConn.Flags.IsSet(DbConnectionFlags.CommitOnSave)) { sConn.Commit(); } if (sConn.Lifetime != DbConnectionLifetime.Explicit) { ReleaseConnection(sConn); } } session.ScheduledCommandsAtStart = null; session.ScheduledCommandsAtEnd = null; }
public void SaveChanges(EntitySession session) { if (session.HasChanges()) { var records = session.RecordsChanged.Where(rec => ShouldUpdate(rec)).ToList(); var conn = GetConnection(session); var updateSet = new UpdateSet(conn, _timeService.UtcNow, records); var batchMode = ShouldUseBatchMode(updateSet); if (batchMode) { SaveChangesInBatchMode(updateSet); } else { SaveChangesNoBatch(session, updateSet); } } //commit if we have session connection with transaction and CommitOnSave var sConn = session.CurrentConnection; if (sConn != null) { if (sConn.DbTransaction != null && sConn.Flags.IsSet(ConnectionFlags.CommitOnSave)) { sConn.Commit(); } if (sConn.Lifetime != ConnectionLifetime.Explicit) { ReleaseConnection(sConn); } } session.ScheduledCommands.Clear(); }
public void SaveChanges(EntitySession session) { if (session.HasChanges()) { var records = session.RecordsChanged.Where(rec => ShouldUpdate(rec)).ToList(); var conn = GetConnection(session); var updateSet = new UpdateSet(conn, _timeService.UtcNow, records); var batchMode = ShouldUseBatchMode(updateSet); if (batchMode) SaveChangesInBatchMode(updateSet); else SaveChangesNoBatch(session, updateSet); } //commit if we have session connection with transaction and CommitOnSave var sConn = session.CurrentConnection; if (sConn != null) { if (sConn.DbTransaction != null && sConn.Flags.IsSet(ConnectionFlags.CommitOnSave)) sConn.Commit(); if (sConn.Lifetime != ConnectionLifetime.Explicit) ReleaseConnection(sConn); } session.ScheduledCommands.Clear(); }