我試圖計算有多少個有自定義字段「distributedOrderLineId」的orderlines(ol)等於當前迭代的orderline id。LINQ在uCommerce中的自定義OrderLine字段
問題是,並非每一個訂單行都有這個自定義字段的定義。我如何讓LINQ跳過未定義的自定義字段而不是拋出錯誤的命令行。
請參考下面的代碼。
var distributionsLeft = ol.Quantity - 1 - PurchaseOrder.All().Where(y => int.Parse(y["distributedOrderLineId"]) == ol.Id).Count();
最好的問候, Brinck10
編輯
我嘗試使用下面的代碼塊任何:
PurchaseOrder.All().Where(y => y.OrderProperties.Any(z=>z.Key=="distributedOrderLineId")).Where(a=>a["distributedOrderLineId"]==ol.OrderLineId.ToString()).Count();
遺憾的是它不工作。我得到的堆棧跟蹤的錯誤是:
[NotSupportedException: System.String get_Item(System.String)]
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitMethodCallExpression(MethodCallExpression expression) +206
編輯結束
指定y的類型是什麼?或從通用IEnumerable購買PurchaseOrder? –