。Net核心,存储过程和连接池

问题描述 投票:0回答:1

我有一个.NET Core Web API服务,它将调用两个存储过程(除此之外没有其他)。我想知道如何在.NET Core中完成这些调用。

起初,我正在考虑将Entity Framework Core用于我的数据库连接。我之所以考虑使用EF Core,是因为我知道它可以处理很多有关连接数据库的难题(例如,连接池)。

但是此服务具有一些相当严格的性能要求。我需要它要快速并且能够处理相当大量的呼叫流量。老实说,EF Core可能会处理它。但是添加EF Core感觉就像是给非常简单的东西增加了很多复杂性。

所以我想问一下,.NET Core中是否还有其他选项可以以安全,池化,高流量容忍的方式连接到SQL Server数据库?

[在相关时的一些注意事项:

  • 我的服务将有两个操作
  • 每个操作将使用3个字符串和一个整数并调用两个存储过程之一
  • 它将对两种类型的调用仅返回true或false(从存储过程作为bit返回)
asp.net-core .net-core entity-framework-core asp.net-core-webapi connection-pooling
1个回答
0
投票

这是我在.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. 易于使此呼叫异步。
  2. 易于传递参数
  3. 易于使用您的自定义模型进行映射
  4. 无需生成复杂类型即可在EDMX文件中注册过程及其返回类型。
  5. 明显,快速的响应时间。
© www.soinside.com 2019 - 2024. All rights reserved.