zoukankan      html  css  js  c++  java
  • .net core2.x 元组不能在表达树使用

    错误信息 Cannot resolve method Void .ctor(Int32, Int32, System.Decimal, System.Decimal) because the declaring type of the method handle System.ValueTuple`4[T1,T2,T3,T4] is generic. Explicitly provide the declaring type to GetMethodFromHandle

    在本地可以运行,测试环境就不行,因为本地我装了privew 5 版本测试环境是2.1
    https://github.com/dotnet/runtime/issues/29220
    代码如下

    
     public async Task<(int QtySum, int CartonsSum, decimal VolumeSum, decimal WeightSum)> GetCountSumByItemIds(List<int> itemIds) 
     {
       // core 2.x错误示例  
       var result = from o in _context.Orders
                     join info in _context.TransportInfos on o.Id equals info.OrderId
                     join item in _context.TransportItems on info.Id equals item.TransportId
                     where itemIds.Contains(item.Id)
                     select new Valuetuple<int, int, decimal, decimal>(o.QuantitySum.Value, o.CartonsSum.Value, o.VolumeSum, o.WeightSum);
       return await result.FirstOrDefaultAsync();         
     }
    
    
    public async Task<(int QtySum, int CartonsSum, decimal VolumeSum, decimal WeightSum)> GetCountSumByItemIds(List<int> itemIds) 
    {
        var result = from o in _context.Orders
                     join info in _context.TransportInfos on o.Id equals info.OrderId
                     join item in _context.TransportItems on info.Id equals item.TransportId
                     where itemIds.Contains(item.Id)
                     select new Tuple<int, int, decimal, decimal>(o.QuantitySum.Value, o.CartonsSum.Value, o.VolumeSum, o.WeightSum);
    
       // core 2.X 不支持 在表达树中写new Valuetuple<>()
       var copyTuple = await result.FirstOrDefaultAsync();
       return copyTuple.ToValueTuple();
    }
    
  • 相关阅读:
    Python连接MySQL数据库之pymysql模块使用
    线程
    进程
    网络编程
    面向对象进阶
    迭代器,生成器,装饰器
    函数的基础
    Andy's First Dictionary UVA
    Stripies POJ
    Soldier and Badges CodeForces
  • 原文地址:https://www.cnblogs.com/caiyangcc/p/13204265.html
Copyright © 2011-2022 走看看