C # y SQL Server: la inserción / actualización solo se ejecuta realmente al depurar
Tengo una API bastante simplista para agregar y luego actualizar una pequeña tabla en SQL Server. Se insertará (o actualizará, lo que exhibe el mismo comportamiento extraño) cuando entro en mi código de acceso a datos en el depurador, pero no cuando paso sobre ese mismo código. Seguramente, me he perdido algo obvio ...
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;
Para los curiososGetSqlConnection()
Se ve como esto:
SqlConnection connection = new SqlConnection(_ConnectionString);
connection.Open();
return connection;