C# 返回值的强类型dataset和自定义executescalr查询

C# 返回值的强类型dataset和自定义executescalr查询,c#,dataset,C#,Dataset,我有一个强类型数据集,我必须返回一些标量值:列的值之和,具有指定列值的记录数,等等 我已经在数据集中添加了一些自定义查询:select sum(mycolumn)作为表[where anothercolumn=:myparameter]中的名称(最后一部分是可选的,我使用的是oracle) 我发现一些查询返回泛型(即decimal?),而另一些查询返回对象。我还没有找到它的规则,有些得到参数,有些没有 有人知道我为什么会有这种不同的行为吗? 现在,我正在处理每个查询,就像它返回对象一样,但我想知

我有一个强类型数据集,我必须返回一些标量值:列的值之和,具有指定列值的记录数,等等

我已经在数据集中添加了一些自定义查询:select sum(mycolumn)作为表[where anothercolumn=:myparameter]中的名称(最后一部分是可选的,我使用的是oracle)

我发现一些查询返回泛型(即decimal?),而另一些查询返回对象。我还没有找到它的规则,有些得到参数,有些没有

有人知道我为什么会有这种不同的行为吗?
现在,我正在处理每个查询,就像它返回对象一样,但我想知道我是否做错了什么,或者这种恼人行为的原因是什么

在数据库查询中计算的值的类型将取决于数据库(它将根据操作数和操作的类型来决定)。例如,如果数据库将结果计算为货币,则相应的.NET值将为十进制值,依此类推。您可以在查询本身中使用数据库强制转换/类型转换操作,以确保表达式的特定返回类型。

谢谢您的回答,但我不同意它与数据库相关。假设我有以下场景:计算所有员工的费用总额,在指定日期之前、之后或之间进行相同的计算。假设每个函数都有自己的查询,这是表适配器的不同方法。数据集返回一个十进制?对他们中的一些人来说,对另一些人来说,这是一个目标:为什么?