Zkuste přidat Enlist=false
k vašemu připojovacímu řetězci:
EDIT:z MySQL Connector/.NET dokumentaci
, pokud nastavíte AutoEnlist=false
v připojovacím řetězci by to mělo fungovat.
<add name="Connection" connectionString="server=localhost;user id=userid;Password=password;database=dbname;AutoEnlist=false" providerName="MySql.Data.MySqlClient" />
Zdá se, že určité verze ADO.NET mohou ve výchozím nastavení automaticky zařadit připojení do existující transakce. Viz http://msdn.microsoft.com/en-us/library/ ms254973.aspx pro více podrobností, ale očekávám, že někde je ADO zmateno, když si myslí, že existuje existující transakce s nějakou jinou db.