dapper查询同步,返回列表

oknrviil  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(256)

我在c中有一个任务,我想用dapper调用mysql中的存储过程。

public async Task<List<StatItemListViewModel>> GetTable()
    {
        using (MySqlConnection connection = new MySqlConnection(Helper.CnnVal("SampleDB")))
        {
            var results =await connection.QueryAsync<List<StatItemListViewModel>>("Call MainResult_Statistic(@sDate, @eDate)", new { sDate = "2018-11-01", eDate = "2018-11-30" });

            return results.FirstOrDefault();
        }            
    }

问题是它不会返回任何东西。
有人能帮我吗?

soat7uwm

soat7uwm1#

我这样解决问题:

public async Task<IEnumerable<StatItemListViewModel>> GetTable(string sDate, string eDate)
{
    using (MySqlConnection connection = new MySqlConnection(Helper.CnnVal("SampleDB")))
    {
        var results = await connection.QueryAsync<StatItemListViewModel>("Call MainResult_Statistic(@sDate, @eDate)", 
            new { sDate, eDate });

        return results.ToList();
    }                  
}

问题是我无法将generic.ienumerable转换为generic.list。

68bkxrlz

68bkxrlz2#

public virtual async Task<T> QueryFirstAsync<T>(string strSql, object param)
{
    using (IDbConnection conn = Connection)
    {
        var res = await conn.QueryAsync<T>(strSql, param);
        return res.FirstOrDefault<T>();
    }
}

相关问题