我使用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.
是否有一种方法可以检索多个值而无需为返回对象创建类?
答案 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();