Dapper中如何带参数查询数据库中的某一行值

 using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dapper;
namespace Hydrogis_API
{
    class LoginDB
    {
        public static ResponseStatus UserLogin(UserInfo userInfo)
        {
            SqlConnection conn = new SqlConnection("server=xxx.xxx.xx.xxx,8033;database=Hydrology;uid=sa;pwd=123@abcd;");
            try
            {
                conn.Open();
                //验证用户名密码


                string sql = "select * from Y where YM=@YM";

                UserInfo user = conn.Query<UserInfo>(sql).First();
                if (user.YMM == userInfo.YMM)
                {
                    return new ResponseStatus() { Code = 1, Desc = "登陆成功" };

                }
                else
                {
                    return new ResponseStatus() { Code = 0, Desc = "登陆错误,请重新输入用户名以及密码" };
                }


            }
            catch (Exception ex)
            {
                return new ResponseStatus() { Code = 0, Desc = "数据库错误,登录失败!" };
            }
            finally
            {
                conn.Close();
            }
        }
    }
}

就是想弄一个用户验证,然后异常显示@YM是未声明的标量变量,求教该怎么写

https://zhidao.baidu.com/question/506451566.html