Когда я создаю временные таблицы, я получаю сообщение об ошибке, сообщающее, что временная таблица уже существует. Временная таблица является уникальной для сеанса, поэтому кажется, что мое соединение не закрывается должным образом, и я думаю, что это может иметь какое-то отношение к оператору возврата, который есть в моем выражении использования.
У меня есть следующий код:
using (IDbConnection connection = dbConnectionHandler.CreateConnection())
{
connection.Open();
CreateATempTable();
PopulateTempTable();
DataSet ds = CallStoredProcThatUsesTempTable();
return ds;
}
Я использую этот вид кода в нескольких местах для создания временной таблицы с тем же именем.
К сожалению, я получаю следующую ошибку: There is already an object named '#MyTempTable' in the database
.
Теперь я знаю, что временная таблица является уникальной для сеанса, поэтому после закрытия сеанса она должна исчезнуть.
Есть три вещи, которые, как я считаю, могут вызвать это ...
- Мне нужно вызвать соединение. Закрыть ()
- Мне нужно поместить оператор return вне моего оператора using
- Мне нужно удалить временную таблицу, которую я создал до возвращения
Кто-нибудь знает, кто это? или если это что-то, о чем я не думал?