/// <summary> /// 设置插入语句 /// </summary> private string BuildInsertSql(List <IColumnDescriptor> batchInsertColumnList, out string batchInsertSql) { var sb = new StringBuilder(); sb.Append("INSERT INTO {0} "); sb.Append("("); var valuesSql = new StringBuilder(); //多租户 if (_descriptor.IsTenant) { _descriptor.SqlAdapter.AppendQuote(sb, _descriptor.TenantIdColumnName); sb.Append(","); //要判断是否启用多租户,不启用的话默认0 valuesSql.AppendFormat("{0},", _descriptor.DbOptions.EnableTenant ? TENANT_ID_PLACEHOLDER : "0"); } foreach (var col in _descriptor.Columns) { //排除自增主键 if (col.IsPrimaryKey && (_primaryKey.IsInt() || _primaryKey.IsLong())) { continue; } _descriptor.SqlAdapter.AppendQuote(sb, col.Name); sb.Append(","); _descriptor.SqlAdapter.AppendParameter(valuesSql, col.PropertyInfo.Name); valuesSql.Append(","); batchInsertColumnList.Add(col); } //删除最后一个"," sb.Remove(sb.Length - 1, 1); sb.Append(") VALUES"); batchInsertSql = sb.ToString(); sb.Append("("); //删除最后一个"," if (valuesSql.Length > 0) { valuesSql.Remove(valuesSql.Length - 1, 1); } sb.Append(valuesSql); sb.Append(")"); if (_descriptor.SqlAdapter.SqlDialect != SqlDialect.PostgreSQL) { sb.Append(";"); } return(sb.ToString()); }
/// <summary> /// 设置插入语句 /// </summary> private string BuildInsertSql(List <IColumnDescriptor> batchInsertColumnList, out string batchInsertSql) { var sb = new StringBuilder(); sb.Append("INSERT INTO {0} "); sb.Append("("); var valuesSql = new StringBuilder(); foreach (var col in _descriptor.Columns) { //排除自增主键 if (col.IsPrimaryKey && (_primaryKey.IsInt() || _primaryKey.IsLong())) { continue; } _descriptor.SqlAdapter.AppendQuote(sb, col.Name); sb.Append(","); _descriptor.SqlAdapter.AppendParameter(valuesSql, col.PropertyInfo.Name); valuesSql.Append(","); batchInsertColumnList.Add(col); } //删除最后一个"," sb.Remove(sb.Length - 1, 1); sb.Append(") VALUES"); batchInsertSql = sb.ToString(); sb.Append("("); //删除最后一个"," if (valuesSql.Length > 0) { valuesSql.Remove(valuesSql.Length - 1, 1); } sb.Append(valuesSql); sb.Append(")"); if (_descriptor.SqlAdapter.SqlDialect != SqlDialect.PostgreSQL) { sb.Append(";"); } return(sb.ToString()); }