private void InsertWithRowVersionSql(IProcedureWriter writer, DatabaseColumn identityColumn, DatabaseColumn rowVersionColumn) { if (rowVersionColumn != null) { var sb = new StringBuilder(); sb.AppendLine("SELECT "); sb.Append(" @" + ParameterName(rowVersionColumn.Name)); sb.Append(" = "); sb.AppendLine(rowVersionColumn.Name); sb.Append(" FROM "); sb.AppendLine(SqlWriter.EscapedTableName); sb.AppendLine(" WHERE "); if (identityColumn != null) { AddWhere(sb, identityColumn.Name); } else { int count = SqlWriter.PrimaryKeys.Count; for (int i = 0; i < count; i++) { if (i > 0) { sb.AppendLine(" AND "); } var pk = SqlWriter.PrimaryKeys[i]; AddWhere(sb, pk); } } sb.AppendLine(";"); writer.AddSql(sb.ToString()); } }
private void AddPrimaryKeyParameter(IProcedureWriter writer) { var pks = SqlWriter.PrimaryKeys; foreach (var pk in pks) { var key = pk; var col = Table.Columns.Find(c => c.Name == key); var type = ColumnDataType(col); writer.AddParameter(ParameterName(pk), type); } }
private void InsertWithRowVersionSql(IProcedureWriter writer, DatabaseColumn identityColumn, DatabaseColumn rowVersionColumn) { if (rowVersionColumn != null) { var sb = new StringBuilder(); sb.AppendLine("SELECT "); sb.Append(" @" + ParameterName(rowVersionColumn.Name)); sb.Append(" = "); sb.AppendLine(rowVersionColumn.Name); sb.Append(" FROM "); sb.AppendLine(SqlWriter.EscapedTableName); sb.AppendLine(" WHERE "); if (identityColumn != null) { AddWhere(sb, identityColumn.Name); } else { int count = SqlWriter.PrimaryKeys.Count; for (int i = 0; i < count; i++) { if (i > 0) sb.AppendLine(" AND "); var pk = SqlWriter.PrimaryKeys[i]; AddWhere(sb, pk); } } sb.AppendLine(";"); writer.AddSql(sb.ToString()); } }
private void AddPrimaryKeyParameter(IProcedureWriter writer) { var pks = SqlWriter.PrimaryKeys; foreach (var pk in pks) { var key = pk; var col = Table.Columns.Find(c => c.Name == key); var type = ColumnDataType(col); writer.AddParameter(ParameterName(pk), type); } }