首页 > 解决方案 > Dapper 多参数存储过程查询不会从数据库返回任何内容

问题描述

我一直使用 Dapper 作为 .NET Core Web Api 的 ORM。

当使用 Dapper 通过一个参数从我的数据库中查询存储过程时,它的工作方式完全符合预期。当我添加多个参数时,它不会像应有的那样将任何内容返回给我的数据模型。

我怀疑这与我的语法或我构建查询的方式有关。我在下面使用的存储过程在 SSMS 查询窗口中执行时按预期工作。

这是我的 DAL 中包含 Dapper 查询的方法:

public List<Players> C_GetAllActivePlayersInSport(int orgID, int sportID)
    {
        using (IDbConnection db = new SqlConnection(_connectionString))
        {
            var returnedData = db.Query<Players>("dbo.spPlayers_GetAllActivePlayers_by_Sport @orgID, @sportID", new { orgID = orgID, sportID = sportID }).ToList();

            return returnedData;
        }
    }

传入的值使其进入上面的方法和查询,但在查询执行后,它返回一个计数为 0 的列表。

任何帮助将不胜感激!

标签: c#asp.net-web-apiasp.net-coredapper

解决方案


尝试:

var returnedData = db.Query<Players>(
    "dbo.spPlayers_GetAllActivePlayers_by_Sport",
        new { orgID, sportID }, commandType: CommandType.StoredProcedure).ToList();

(注意:.AsList()会稍微可取)


推荐阅读