. Net Core, хранимые процедуры и пул соединений - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть. NET Базовая служба Web API, которая будет вызывать две хранимые процедуры (и ничего больше). Мне интересно, как выполнить sh эти вызовы. NET Core.

Сначала я думал об использовании Entity Framework Core для подключения к моей базе данных. Я рассматривал EF Core, потому что я знаю, что он обрабатывает много сложных битов при подключении к базе данных (например, пул соединений).

Но у этого сервиса есть довольно строгие требования к производительности. Мне нужно, чтобы он был быстрым и мог обрабатывать довольно большое количество вызовов c. Честно говоря, EF Core, вероятно, справится с этим. Но при добавлении EF Core создается ощущение, что я добавляю много сложностей к чему-то очень простому.

Поэтому я подумал, что могу спросить, есть ли другие варианты. NET Ядро для подключения к SQL Серверу база данных безопасным, пулированным, с высоким трафиком c терпимым способом?

Несколько замечаний на случай, если это уместно:

  • Мой сервис будет иметь две операции
  • Каждая операция будет принимать 3 строки и целое число и вызывать одну из двух хранимых процедур
  • Она будет возвращать только true или false для обоих типов вызовов (возвращается из хранимой процедуры как bit)

1 Ответ

0 голосов
/ 14 февраля 2020

Вот как я вызываю процедуру в. NET Core

try
{
    using (var db = new DBEntities())
    {
        var result = db.Database.SqlQuery<EmployeesData>("exec uspDataOfEmployee {0} , {1}", 
            EmployeeId , Convert.ToDateTime(month).ToString("yyyy-MM-dd")).ToList();
        return result;
    }
}
catch (Exception ex)
{
    Logger.Instance.Error(ex, "Exceptio while calling procedureName( method.", EmployeeId.ToString());
    throw;
}

Список преимуществ, если вы используете вышеуказанный код ...

  1. Легко сделать этот вызов asyn c.
  2. Легко передать параметры
  3. Легко сопоставить с вашей пользовательской моделью
  4. Нет необходимости создавать сложные типы для зарегистрируйте процедуру и тип ее возврата в файле EDMX.
  5. Очевидное, быстрое время отклика.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...