private string GetReadString() { EntitySQLBuilder <TBase> sqlBuilder = new EntitySQLBuilder <TBase>(GetMapping()); sqlBuilder.BuildSelectStatement(); string sql = sqlBuilder.ToString(); Logger.Info(MethodBase.GetCurrentMethod(), "Generated SQL: " + sql); return(sql); }
private string GetUpdateString() { EntitySQLBuilder <TBase> sqlBuilder = new EntitySQLBuilder <TBase>(GetMapping()); sqlBuilder.AppendLine(); sqlBuilder.BuildUpdateStatement(); // For update statements return the number of rows affected sqlBuilder.SelectRowCount(); string sql = sqlBuilder.ToString(); Logger.Info(MethodBase.GetCurrentMethod(), "Generated SQL: " + sql); return(sql); }
private void InsertFromStagingTable(EntityTable table) { EntitySQLBuilder <TBase> sql = new EntitySQLBuilder <TBase>(mapping); string primaryKeyColumnName = table.GetPrimaryKeyColumn().Name; sql.BuildInsertFromStagingToMainWithOutputIds(table); using SqlCommand cmd = _connection.CreateCommand(); cmd.CommandText = sql.ToString(); cmd.CommandType = CommandType.Text; cmd.Transaction = _transaction; int totalPrimaryKeys = ReadPrimaryKeys(cmd, table, primaryKeyColumnName); Logger.Debug($"{(totalPrimaryKeys == 0 ? "No" : totalPrimaryKeys.ToString())} {table.Name} were inserted"); }
private void CreateStagingTable(EntityTable table) { EntitySQLBuilder <TBase> sql = new EntitySQLBuilder <TBase>(mapping); sql.CreateStagingTable(table); using SqlCommand cmd = _connection.CreateCommand(); cmd.CommandText = sql.ToString(); cmd.CommandType = CommandType.Text; cmd.Transaction = _transaction; Logger.Debug($"Creating staging table {table.StagingTable.Name}"); Logger.Debug($"Executing SQL: {sql.ToString()}"); cmd.ExecuteNonQuery(); }
private string GetUpdateFullSql() { Type t = this.GetType(); if (!_UpdateSqlCache.ContainsKey(t)) { EntityMeta metadeta = EntityReflect.GetDefineInfoFromType(t); string sql = EntitySQLBuilder.EntityMetaToUpdateSQL(metadeta); lock (lockobject) { if (!_UpdateSqlCache.ContainsKey(t)) { _UpdateSqlCache.Add(t, sql); } } } return(_UpdateSqlCache[t]); }
private string GetUpdateChangeColumnsSql() { EntityMeta metadeta = EntityReflect.GetDefineInfoFromType(this.GetType()); return(EntitySQLBuilder.BuildUpdateSql(metadeta, this._PropertyChangedList)); }