C# DAPPER参数的类型错误,但未引发异常

C# DAPPER参数的类型错误,但未引发异常,c#,rdbms,C#,Rdbms,我有一段代码(使用dapper)正在对我的数据库执行查询(ASE12)。sql有这样一个where子句,其中r.reg\u id=@reg\u id 现在在数据库中,reg_id列是一种数值类型,长度为6,Prec 18,刻度为0 在代码中,@reg_id变量是一个Int32,我希望在调用异步方法查询时发生异常,但它永远不会出错 问题:是否需要在dapper中设置/配置以获取数据类型错误以排除异常 下面的代码将起作用,因为我将数据类型设置为decimal,但对于其他团队成员,我希望排除异常,以便

我有一段代码(使用dapper)正在对我的数据库执行查询(ASE12)。sql有这样一个where子句,其中r.reg\u id=@reg\u id

现在在数据库中,reg_id列是一种数值类型,长度为6,Prec 18,刻度为0

在代码中,@reg_id变量是一个Int32,我希望在调用异步方法查询时发生异常,但它永远不会出错

问题:是否需要在dapper中设置/配置以获取数据类型错误以排除异常

下面的代码将起作用,因为我将数据类型设置为decimal,但对于其他团队成员,我希望排除异常,以便他们知道问题所在。。。有什么想法吗

公共异步任务句柄(CentersForegId查询请求、CancellationToken CancellationToken)
{
StringBuilder sql=新的StringBuilder();
附加(“选择c.ctr_id,RTRIM(LTRIM(c.ctr_shname))作为ctr_shname,RTRIM(LTRIM(r.reg_name))作为reg_name”);
Append(“从中心c,”);
追加(“区域r”);
Append(“其中c.jcc_active='Y'和c.reg_id=r.reg_id和r.reg_id=@reg_id”);
sql.Append(“按c.ctr_shname订购”);
字符串查询=sql.ToString();
//自定义映射
_dapperTools.DapperCustomMapping();
尝试
{
使用(IDbConnection dbConnection=\u dapperTools.\u aseconnection)
{
//示例按参数获取行列表
变量参数=新
{
@reg_id=request.RegId
};
IEnumerable所有行=
wait dbConnection.QueryAsync(查询、参数);
返回所有行;
}
}
捕获(例外情况除外)
{
_ReportSqlError(_log,query,ex);
返回null;
}
}
公共类中心ForRegidQuery:IRequest
{
公共十进制寄存器{get;set;}
}

如果基础数据库没有错误,为什么要Dapper?如何知道数据库不会在可能的情况下强制执行值,而这正是用户想要的?Sql Server将愉快地运行以下代码:
declare@testValue int=1;从testTable中选择*,其中decimalValue>@testValue
对应一个十进制列。这会很好,但ASE 12可能不会强制它-至少从我所知道的情况来看。对数据库的调用永远不会返回值或任何东西,如果我使用swagger手动执行代码,它只会旋转,旋转..永远不会结束。无论如何,我认为这是一个设置或配置。。。我使用的是ADO提供程序,可能其中有一个设置—严格模式之类的。{AdoNetCore.AseClient(0.13.1通过nuget)如果底层数据库没有出错,为什么要Dapper?如何知道数据库不会在可能的情况下强制执行该值,而这正是用户想要的?Sql Server将很高兴地运行以下代码:
declare@testValue int=1;针对十进制列从testTable where decimalValue>@testValue
中选择*。这就是nice、 但是ASE 12可能不会强制执行它-至少从我所知道的来看。对数据库的调用永远不会返回值或任何东西,如果我使用swagger手动执行代码,它只会旋转旋转..永远不会结束。无论如何,我认为这是一个设置或配置…我使用的是ADO提供程序可能有一个一种严格的模式或类似的模式。{AdoNetCore.AseClient(0.13.1通过nuget)