导航查询异常,有没有大佬遇见过 返回

SqlSugar 沟通中
2 280
该叫什么 发布于2025/8/26
悬赏:0 飞吻




 var result = await Context.Queryable<ReturnOrder>().Where(r => r.CustomerId == UserId && TrackingNos.Contains(r.TrackingNo)).LeftJoin<Stock>((r, s) => r.StockId == s.StockId).With(SqlWith.NoLock).Select((r, s) => new OpenApiGetReturnOrderListDto

            {


                StockId = r.StockId,

                StockName = s.Name,

                OrderStatus = r.OrderStatus,

                CreateTime = r.CreateTime,

                CustomerId = r.CustomerId,

                GroundTime = r.GroundTime,

                LogisticsProvider = r.LogisticsProvider,

                PackageImage = r.PackageImage,

                Remark = r.Remark,

                ReturnOrderId = r.ReturnOrderId,

                TemporaryNo = r.TemporaryNo,

                TrackingNo = r.TrackingNo,

            }).Take(50).ToListAsync();


            await Context.ThenMapperAsync(result, async item =>

               {

                   item.Items = await Context.Queryable<ReturnOrderItem>().LeftJoin<Product>((r, p) => r.ProductId == p.ProductId).With(SqlWith.NoLock).Select((r, p) => new GetReturnOrderListItemDto

                   {

                       ReturnOrderId = r.ReturnOrderId,

                       Sku = p.SKU,

                       ProductId = p.ProductId,

                       ProductImage = p.GoodsImage,

                       Quantity = r.Quantity,

                       ReturnOrderItemId = r.ReturnOrderItemId,

                       GroundQuantity = r.GroundQuantity,

                       UnqualifiedQuantity = r.UnqualifiedQuantity,


                   }).SetContextAsync(r => r.ReturnOrderId, () => item.ReturnOrderId, item);

               });



{"Message":"An item with the same key has already been added. Key: Queryable_To_Context","StackTrace":"   at System.Collections.Generic.Dictionary\u00602.TryInsert(TKey key, TValue value, InsertionBehavior behavior)\r\n   at System.Collections.Generic.Dictionary\u00602.Add(TKey key, TValue value)\r\n   at SqlSugar.SqlSugarProvider._ThenMapperAsync[T](IEnumerable\u00601 list, Func\u00602 action)\r\n   at SqlSugar.SqlSugarProvider.\u003C\u003Ec__DisplayClass271_0\u00601.\u003C\u003CThenMapperAsync\u003Eb__0\u003Ed.MoveNext()\r\n--- End of stack trace from previous location ---\r\n   at SqlSugar.ContextMethods.PageEachAsync[T](IEnumerable\u00601 pageItems, Int32 pageSize, Func\u00602 action)\r\n   at SqlSugar.SqlSugarProvider.ThenMapperAsync[T](IEnumerable\u00601 list, Func\u00602 action)\r\n   at NewOMS.Repository.Repository.ReturnOrders.ReturnOrderRepository.OpenApiGetReturnOrderList(List\u00601 TrackingNos, Int64 UserId) in D:\\\u4EE3\u7801\\OMS2.0\\NewOMS.Repository\\Repository\\ReturnOrders\\ReturnOrderRepository.cs:line 3451\r\n   at NewOMS.Service.System.Service.ReturnOreders.ReturnOrderservice.OpenApiGetReturnOrderList(List\u00601 TrackingNos) in D:\\\u4EE3\u7801\\OMS2.0\\NewOMS.Service\\System\\Service\\ReturnOrederServices\\ReturnOrderservice.cs:line 1255\r\n   at NewOMS.WebApi.TaskQueue.TaskQueueDicChannel\u00601.ProcessChannelAsync[TResult](Channel\u00601 channel, ConcurrentDictionary\u00602 isProcessingDict, TKey key) in D:\\\u4EE3\u7801\\OMS2.0\\NewOMS.WebApi\\TaskQueue\\TaskQueueDicChannel.cs:line 123","Type":"System.ArgumentException"}

热忱回答2

  • fate sta fate sta VIP0
    2025/8/26

    代码看着没错。是不是内部开了线程

    0 回复
  • fate sta fate sta VIP0
    2025/8/26

    如果内部开线程


    var newdb=Context.CopyNew();

    下面所有都用newdb

    0 回复