Salve a tutti, non conosco bene come funzionano le transazioni in SQL Server, vi espondo subito il mio problema: utilizzo la libreria ADO.NET per le transazioni in particolare gli oggetti SQLConnection ed SQLTransaction, vi esponso subito il mio problema con questo codice:

Dim conn as new SQLConnection(StringaConnession)
conn.Open()
Dim trans as SqlTransaction= conn.BeginTransaction()
Dim com as New SqlCommand("INSERT INTO Prodotti(ID,Descrizione) VALUES (1,'Prova')",conn,trans)
com.ExecuteNonQuery()
com.CommandText="SELECT MAX(Id)+1 FROM Prodotti"
com.ExecuteScalar()'Qui va in timeout

All'esecuzione dell'ultimo comando l'operazione va in timeout poichè vado ad eseguire una query su una tabella modificata che risulta quindi bloccata ad altre operazioni, a questo punto vorrei sapere come permettere operazioni di scrittura e lettura su una stessa tabella nella stessa transazione.

Grazie a tutti coloro che mi aiuteranno.

P.S.:L'sql è esemplificativo e serve solo ad esporvi il problema.