public override int Execute() { //if it's a trackable entity and no changes where made, let's not waste our time running a query var trackable = entity as ITrackable; if (trackable != null && !trackable.IsDirty) { return(0); } var execList = Build(); int total = 0; var runner = new SqlCommandRunner(); var dialect = session.SessionFactory.DbSettings.SqlDialect; //if(trackable != null) //{ // logger.Log(LogLevel.Debug, string.Format("changes found {0} ", trackable.ChangeTracker.GetChangedItems().Count)); //} foreach (var update in execList.Statements.Values) { var parameters = new List <QueryParam>(); parameters.AddRange(whereParameters); parameters.AddRange(update.Columns.Values.Select(p => p.Item1)); total += runner.ExecuteNonQuery(session, update.ToString(dialect), parameters.ToArray()); } foreach (var manyToManyOp in execList.ManyToManyStatements) { total += runner.ExecuteNonQuery(session, manyToManyOp.Item1, manyToManyOp.Item2.ToArray()); } return(total); }
private void DeleteAllTableData(string dbName) { StringBuilder sb = new StringBuilder(); foreach (string tableName in SqlCommandRunner.GetAllTables(dbName)) { sb.AppendLine(string.Format("delete from {0} ", tableName)); } SqlCommandRunner.DelAllFks(_Db1); SqlCommandRunner.ExecuteNonQuery(new SqlCommand(sb.ToString()), dbName); }
public int Execute() { var updateBody = Build(); var runner = new SqlCommandRunner(); var localParameters = new List <QueryParam>(); localParameters.AddRange(Parameters); localParameters.AddRange(updateBody.Columns.Values.Select(p => p.Item1)); return(runner.ExecuteNonQuery(session, updateBody.ToString(dialect), localParameters.ToArray())); }
private void MockChangment() { string sqlCommand = @" --修改tleaverequest的2行数据 update tleaverequest set absentHours = 999 --删除tleaverequestItem的1行数据 delete tleaverequestitem where pkid = 2 --增加/修改tleaverequestflow的4行数据 update tleaverequestflow set operatorId = 99 insert into tleaverequestflow(leaveRequestItemId,operatorId,operation,operationTime,remark) values(1,88,55,'2009-6-19','hello')"; SqlCommandRunner.ExecuteNonQuery(new SqlCommand(sqlCommand), _TempDbName); }
private void MockAddLeaveRequest() { string sqlCommand = @" declare @id int insert into tleaverequest(accountid,leaverequesttypeid,reason,submitdate,absentfrom,absentto,absenthours,diyprocess) values(3,2,'','2009-6-9','2009-6-15','2009-6-15',8,'') select @id = SCOPE_IDENTITY() insert into tleaverequestitem(leaverequestid,status,absentfrom,absentto,absenthours,nextprocessid) values(@id,3,'2009-6-15','2009-6-15',8,3) select @id = SCOPE_IDENTITY() insert into tleaverequestflow(leaveRequestItemId,operatorId,operation,operationTime,remark) values(@id,88,55,'2009-6-9','hello')"; SqlCommandRunner.ExecuteNonQuery(new SqlCommand(sqlCommand), _TempDbName); }
/// <summary> /// Executes this instance. /// </summary> /// <returns></returns> public override int Execute() { var execList = Build(); int total = 0; var runner = new SqlCommandRunner(); var dialect = session.SessionFactory.DbSettings.SqlDialect; foreach (var del in execList.Statements.Values) { var parameters = new List <QueryParam>(); parameters.AddRange(whereParameters); total += runner.ExecuteNonQuery(session, del.ToString(dialect), parameters.ToArray()); } return(total); }
int Execute(ISession session, InsertSqlInfo statement) { var sql = statement.ToString(session.SessionFactory.DbSettings.SqlDialect); var cmdr = new SqlCommandRunner(); var parameters = new List <QueryParam>(); parameters.AddRange(GeneratedKeys.Values); foreach (var queryParam in statement.Parameters) { if (!GeneratedKeys.ContainsKey(queryParam.Key)) { parameters.Add(queryParam.Value); } } return(cmdr.ExecuteNonQuery(session, sql, parameters.ToArray())); }
private void MockChangment() { //主表新增一行记录,修改一行记录,删除一行记录 //附表1删除一行记录,附表2删除2行记录 string sqlCommand = @"insert into tapplication(applicantid,applicantName,applicationDate,applicationFrom,ApplicationTo,CostTime,Status,Reason,Type,OvertimeType) values(1,'','2008-10-2','2008-10-2','2008-10-2',4,1,'',1,1) update tapplication set applicantName = 'modifyByTester' where pkid =278 delete tapplication where pkid = 279 delete tapplicationEmployee where applicationId = 279 delete tapplicationFlow where applicationId = 279"; SqlCommandRunner.ExecuteNonQuery(new SqlCommand(sqlCommand), _TempDbName); }