/// <summary> /// Generate insert script and executive /// </summary> private void Insert() { // // Initialize script string sqlInsert = ""; // // For each record, try to generate sql script SQLScriptGenerator scriptGenerator = new SQLScriptGenerator(this._tableName, this._typeAccessor, this._listColumnInformation); foreach (object record in this._listTasks) { try { string script = scriptGenerator.GenerateInsertScript(record); sqlInsert = sqlInsert + script + Environment.NewLine; } catch (Exception exc) { LogService.Log.Error("Can not generate insert script for record, table name " + this._tableName, exc); } } // // Check we need to excecute this script or generate to file if (this._isGeneratedScript) { this._sqlGeneratedScript = sqlInsert; } else { try { string sqlTurnOn = "SET IDENTITY_INSERT " + this._tableName + " ON" + Environment.NewLine; string sqlTurnOff = "SET IDENTITY_INSERT " + this._tableName + " OFF" + Environment.NewLine; string sqlTurnOffTrigger = "ALTER TABLE " + this._tableName + " DISABLE TRIGGER ALL" + Environment.NewLine; string sqlTurnOnTrigger = "ALTER TABLE " + this._tableName + " ENABLE TRIGGER ALL" + Environment.NewLine; if (this._sqlMultiThreadManager.HasIdentityColumn(this._tableName)) { sqlInsert = sqlTurnOn + sqlInsert + sqlTurnOff; } // // Execute DbContext dbContext = this._sqlMultiThreadManager.GetNewDbContext(); dbContext.Database.ExecuteSqlCommand(sqlInsert); } catch (Exception excExecSQL) { LogService.Log.Error("Can not execute SQL script.", excExecSQL); } } }
/// <summary> /// Generate insert script and executive /// </summary> private void Insert() { // // Initialize script string sqlInsert = ""; // // For each record, try to generate sql script SQLScriptGenerator scriptGenerator = new SQLScriptGenerator(this._tableName, this._typeAccessor, this._listColumnInformation); foreach (object record in this._listTasks) { try { string script = scriptGenerator.GenerateInsertScript(record); sqlInsert = sqlInsert + script + Environment.NewLine; } catch (Exception exc) { LogService.Log.Error("Can not generate insert script for record, table name " + this._tableName, exc); } } // // Check we need to excecute this script or generate to file if (this._isGeneratedScript) { this._sqlGeneratedScript = sqlInsert; } else { try { string sqlTurnOn = "SET IDENTITY_INSERT " + this._tableName + " ON" + Environment.NewLine; string sqlTurnOff = "SET IDENTITY_INSERT " + this._tableName + " OFF" + Environment.NewLine; string sqlTurnOffTrigger = "ALTER TABLE " + this._tableName + " DISABLE TRIGGER ALL" + Environment.NewLine; string sqlTurnOnTrigger = "ALTER TABLE " + this._tableName + " ENABLE TRIGGER ALL" + Environment.NewLine; if (this._sqlMultiThreadManager.HasIdentityColumn(this._tableName)) { sqlInsert = sqlTurnOn + sqlInsert + sqlTurnOff; } // // Execute DbContext dbContext = this._sqlMultiThreadManager.GetNewDbContext(); dbContext.Database.ExecuteSqlCommand(sqlInsert); } catch (Exception excExecSQL) { LogService.Log.Error("Can not execute SQL script.", excExecSQL); } } }