Ejemplo n.º 1
0
 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());
     }
 }
Ejemplo n.º 2
0
        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);
     }
 }