使用元组从NPoco返回具有2个值的单行将返回错误

时间:2019-05-01 01:45:22

标签: npoco

我使用NPoco,我希望查询返回两个结果-不是一个具有两个属性的对象,而是两个表的总和。我希望将其作为元组检索,但是NPoco对此失败。

我尝试过:

Tuple<decimal, int> res = db.Single<Tuple<decimal, int>>(
                                  "select sum(alpha), sum(beta) from gamma");

但这给了我这个错误:

Exception: Cannot create POCO 'System.Tuple'2[[decimal...][int...]]  It may have no parameterless constructor or be an interface or abstract class without a Mapper factory.

是否有一种方法可以检索多个值而无需为返回对象创建类?

1 个答案:

答案 0 :(得分:0)

好的,这里有同样的问题,我反驳了它。 Npoco 在元组方面存在问题。

转过来:

Tuple<decimal, int> res = db.Single<Tuple<decimal, int>>("select sum(alpha), sum(beta) from gamma");

进入:

List<(decimal, int)> res = db.Query<dynamic>("select sum(alpha) as col1, sum(beta) as col2 from gamma").Select(x => ((decimal)x.col1, (int)x.col2)).ToList();