Я продолжаю получать эту ошибку при попытке выполнить удаление в середине моего DataReader:
System.InvalidOperationException: контекстное соединение уже используется.
Я получаю все строки, которые необходимо удалить, и затем перебираю читатель данных, так как возвращено много строк.
SqlConnection conn = new SqlConnection ("context connection = true");
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "spClean_Select_Product_For_Delete";
cmd.CommandTimeout = 41600;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
try
{
SqlContext.Pipe.Send(DateTime.Now.ToString() + " - Started working with Product");
while (reader.Read())
{
SqlContext.Pipe.ExecuteAndSend(new SqlCommand("DELETE FROM ProductInfo WHERE ProductId = "
+ reader["ProductId"].ToString()));
}
SqlContext.Pipe.Send(DateTime.Now.ToString() + " - Completed working with Product");
}
finally
{
conn.Close();
// Always call Close when done reading.
reader.Close();
}