Old post, but since it fits with what I was looking for, I thought I would add some information to this topic. I was about to add a comment, but I lack a reputation.
As others said:
connection.ConnectionTimeout is used for the initial connection
command.CommandTimeout is used for individual searches, updates, etc.
But:
connection.ConnectionTimeout is also used to complete and roll back transactions.
Yes, this is an absolutely crazy design decision.
So, if you use a timeout when committing or rolling back, you need to increase this value using the connection string.
Nick Thompson May 21 '15 at 1:14 pm 2015-05-21 13:14
source share