Почему данный код генерирует «Предел запросов для базы данных — X» с помощью Azure SQLC#

Место общения программистов C#
Ответить
Anonymous
 Почему данный код генерирует «Предел запросов для базы данных — X» с помощью Azure SQL

Сообщение Anonymous »

У меня есть код, выполняющийся в плане использования функций Azure. Моя база данных ограничена 60 одновременными входами в систему, что, похоже, и вызывает эту ошибку:
The request limit for the database is X

Мой вопрос: почему этот цикл внутри транзакции достигает этого предела? Одна транзакция считается одним запросом или нет? Я знаю, что код низкого качества, но это только потому, что во время исследования я экспериментировал с жесткими решениями.
SOME_QUERY1 = "INSERT INTO SomeTable (p1,p2,p3,p4) Values (p1,p2,p3,p4); SELECT CAST(SCOPE_IDENTITY() as int)";
SOME_QUERY2 = "INSERT INTO OtherTable (10 fields)";

public async Task SaveBusinessTransaction(TransactionBatchEntity businessEntity)
{
using (var connection = new SqlConnection(_connectionString))
{
connection.Open();
var successfullyAddedTransactions = new List();

using (var transaction = connection.BeginTransaction())
{
try
{
var transactionId = (await connection.QueryAsync(SOME_QUERY1, new { Paramter = 1 }, transaction)).Single();

foreach (var details in businessEntity.Details)
{
var detailsEntity = new
{
//some fields
};

await connection.ExecuteAsync(SOME_QUERY2, detailsEntity, transaction);
successfullyAddedTransactions.Add(detailsEntity.TransactionNumber);
}

transaction.Commit();

return successfullyAddedTransactions;
}
catch (Exception)
{
transaction.Rollback();
connection.Close();
throw;
}
}
}
}

РЕДАКТИРОВАТЬ:
ВАЖНО: отсутствует часть, связанная с контекстом выполнения.
transactions.ForEach(t => _sqlService.SaveBusinessTransaction(t));


Подробнее здесь: https://stackoverflow.com/questions/518 ... -with-azur
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»