导航查询异常,有没有大佬遇见过 返回
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 VIP0
2025/8/26代码看着没错。是不是内部开了线程
0 回复 -
fate sta VIP0
2025/8/26如果内部开线程
var newdb=Context.CopyNew();
下面所有都用newdb
0 回复