private void UpdateSequence(object streamId, long expectedInitialVersion, long nextVersion, SqlCeConnection connection)
{
const string commandText =
"UPDATE Streams SET CurrentSequence = @CurrentSequence WHERE StreamId = @StreamId AND CurrentSequence = @OriginalSequence;";
using (var command = new SqlCeCommand(commandText, connection))
{
command.Parameters.AddWithValue("StreamId", streamId.ToString());
command.Parameters.AddWithValue("CurrentSequence", nextVersion);
command.Parameters.AddWithValue("OriginalSequence", expectedInitialVersion);
var rows = command.ExecuteNonQuery();
if(rows != 1)
throw new ConcurrencyException();
}
}