【发布时间】:2021-10-20 08:19:21
【问题描述】:
我有一个 SQL Server 数据库,我通过 ASP.Net Core Web API 使用 Entity Framework 访问该数据库。下面是同一个查询的 2 个示例,其中 1 个使用默认查询方法,第二个使用存储过程。
默认 Web API 查询
// GET: api/Players
[HttpGet]
public async Task<ActionResult<IEnumerable<Player>>> GetPlayers()
{
return await _context.Players.ToListAsync();
}
使用存储过程
// GET: api/Players
[HttpGet]
public async Task<ActionResult<IEnumerable<Player>>> GetPlayersProc()
{
string storedProc = "exec GetAllPlayers";
return await _context.Players.FromSqlRaw(storedProc).ToListAsync();
}
这两个都返回完全相同的玩家列表。
我的问题是使用一种方法比另一种方法有什么好处?是否以任何方式更快或更安全地使用存储过程?这两种方法的优缺点是什么?
【问题讨论】:
标签: c# sql-server asp.net-web-api stored-procedures