如何使用dapper从数据库返回字符串

时间:2018-10-27 17:37:18

标签: c# dapper

我尝试过但是它给出了这个错误

  

必须声明标量变量“ @imageid”

controller.cs

    [HttpGet]
    [Route("download/{id:int}")]
    public String Getfiles(int imageid)
    {

        return _ShopDataProvider.DownloadImage(imageid);

    }

class.cs

public String  DownloadImage(int imageid)
    {
        using(IDbConnection dbConnection = Connection)
        {

            string sQuery0 = "SELECT path FROM Shop WHERE ShopId = @imageid";
            dbConnection.Open();
            String Path = dbConnection.QueryFirstOrDefault<String>(sQuery0, new { ShopId = imageid });

            return Path;
        } 
    }

1 个答案:

答案 0 :(得分:2)

您正在SQL查询中声明一个名为@imageid的参数,但未提供值。您正在为参数@ShopIDnew { ShopId = imageid })提供一个值,您的SQL查询不使用该值。

new { ShopId = imageid }更改为new { imageid = imageid }

请参阅documentation