estoy recibiendo el siguiente error al intentar llamar a un procedimiento almacenado que contiene una instrucción SELECT:"La operación no es válida para el estado de la transacción" Alcance del error y la transacción
La operación no es válida para el estado de la transacción
Aquí está la estructura de mis llamadas:
public void MyAddUpdateMethod()
{
using (TransactionScope Scope = new TransactionScope(TransactionScopeOption.RequiresNew))
{
using(SQLServer Sql = new SQLServer(this.m_connstring))
{
//do my first add update statement
//do my call to the select statement sp
bool DoesRecordExist = this.SelectStatementCall(id)
}
}
}
public bool SelectStatementCall(System.Guid id)
{
using(SQLServer Sql = new SQLServer(this.m_connstring)) //breaks on this line
{
//create parameters
//
}
}
¿el problema es conmigo la creación de otra conectan ion a la misma base de datos dentro de la transacción?
Me encontré con la misma situación. Tuve que referirme a dos bases de datos diferentes dentro del mismo alcance de transacción. Gracias por el consejo. – rageit
Buena captura, un lugar común para ver esto suceder es si tiene un marco de registro (nlog, log4net) que está escribiendo en el DB, ya que el marco de registro creará su propia conexión a la base de datos como su aplicación. – viggity
¿Dónde encontraste esa información? –