Я использую блок доступа к данным Enterprise Library с транзакциями, но когда я вызываю другой метод (команда выбора) в блоках кода транзакции, я получаю ошибку тайм-аута, потому что транзакция блокирует db.Ошибка транзакции EntLib 5
Как я могу вызвать команду select в транзакции?
Мой код:
dbConn.Open();
using (dbConn)
{
using (dbTrans = dbConn.BeginTransaction())
{
try
{
var cmd = dbClass.GetStoredProcCommand("Test_Insert");
dbClass.AddInParameter(cmd, "@No", DbType.String, "Test");
dbClass.AddOutParameter(cmd, "@ReturnValue", DbType.Int32, 4);
retval = dbClass.ExecuteNonQuery(cmd, dbTrans);
if (retval > 0)
retval = Convert.ToInt32(dbClass.GetParameterValue(cmd, @ReturnValue"));
var dsDetail=GetDetail(retval); **<-- Error Line i waiting long times and get timeout error**
dbTrans.Commit();
}
}
}
private DataSetGetDetail (int TestID)
{
var TestSql = "Select * from
TestTable Where ID="+TestID;
var cmdTest = dbClass.GetSqlStringCommand(TestSql);
var dsTest= dbClass.ExecuteDataSet(cmd);
return dsTest;
}