public Statement BuildInsertReturnId(GeneratorParams arg) { var statement = BuildInsert(arg); if (_provider.Type == DbProviderManager.POSTGRESQL_DBPROVIDER.Type) { statement.SqlTags.Add(new SqlText($" ; Returning {arg.PkCol.Name};", _provider.ParameterPrefix)); } else { statement.SqlTags.Add(new SqlText($"{_provider.SelectAutoIncrement}", _provider.ParameterPrefix)); } return(statement); }
public IDictionary <string, Statement> Generate(SqlMap map, Type entityType) { var statementList = new Dictionary <string, Statement>(); var gParams = new GeneratorParams(map, entityType); if (_generatorFuncList != null && _generatorFuncList.Count > 0) { foreach (var item in _generatorFuncList) { statementList.Add($"{map.Scope}.{item.Key}", item.Value(gParams)); } } return(statementList); }
public Statement BuildUpdate(GeneratorParams gParams) { var dbPrefix = _provider.ParameterPrefix; var updateTags = new List <ITag>(); foreach (var col in gParams.ColumnMaps.Values) { if (col.IsPrimaryKey) { continue; } var p = new IsProperty { Prepend = ",", Property = col.Property.Name, ChildTags = new List <ITag> { new SqlText($"{WrapColumnEqParameter(_provider, col)}", dbPrefix) } }; updateTags.Add(p); } var sqlTags = new List <ITag> { new SqlText($"Update {gParams.TableName}", dbPrefix), new Set() { ChildTags = updateTags }, new SqlText($" Where {WrapColumnEqParameter(_provider, gParams.PkCol)}", dbPrefix), }; return(BuildStatement(CUDStatementName.UPDATE, sqlTags, gParams.Map)); }
public Statement BuildDeleteAll(GeneratorParams gParams) { var sql = $"Delete From {gParams.TableName}"; return(BuildStatement(CUDStatementName.DELETE_ALL, sql, gParams.Map)); }