C # & SQL Server: Einfügen / Aktualisieren wird nur beim Debuggen wirklich ausgeführt

Ich habe eine ziemlich vereinfachte API zum Hinzufügen und späteren Aktualisieren einer kleinen Tabelle in SQL Server. Es wird eingefügt (oder aktualisiert, was dasselbe seltsame Verhalten aufweist), wenn ich im Debugger meinen Datenzugriffscode eingebe, aber nicht, wenn ich denselben Code überschreite. Sicher habe ich etwas Offensichtliches verpasst ...

int result = 0;
const string sql = "INSERT into MyProgress (ImportJobId, SiteCode, ProcessedAmount, TotalToProcess, ErrorCount, CreatedDateTime, LastModifiedDateTime) " +
                   "VALUES (@importJobId, @siteCode, @currentProgress, @totalPieces, 0, getdate(), getdate())";

using (var connection = GetSqlConnection())
using (var sqlCmd = GetSqlCommand(connection, sql))
{
    sqlCmd.Parameters.AddWithValue("@importJobId", importJobId);
    sqlCmd.Parameters.AddWithValue("@siteCode", siteCode);
    sqlCmd.Parameters.AddWithValue("@currentProgress", currentProgress);
    sqlCmd.Parameters.AddWithValue("@totalPieces", totalPieces);

    //SqlParameter outputParameter = new SqlParameter("@ID", SqlDbType.Int, 4);
    //outputParameter.Direction = ParameterDirection.InputOutput;
    //sqlCmd.Parameters.Add(outputParameter);

    sqlCmd.BeginExecuteNonQuery();
    //result = (int) (outputParameter.Value ?? -1);
}

return result;

Für die Neugierigen,GetSqlConnection() sieht aus wie das

SqlConnection connection = new SqlConnection(_ConnectionString);
connection.Open();
return connection;

Antworten auf die Frage(4)

Ihre Antwort auf die Frage