使用第一个Lambda表达式的结果组合两个Lambda表达式

时间:2018-07-19 10:00:20

标签: c# lambda

我想知道是否有可能将这两个语句合并为一个。

a = i*j

我想要做的就是这样...

Tbl_OrderFeeItem orderFee = adj.Tbl_Order.Tbl_OrderFeeItem.Single(x =>
                        x.OrderId == adj.OrderId
                        && x.FeeTypeId == adj.FeeTypeId);


int querySource = orderFee.Tbl_FeeCheck
                 .Single(x => x.OrderFeeItemId == formFee.OrderFeeItemId)
                 .Tbl_PostPaymentOrderQuery
                 .PostPaymentOrderQueryTypeId;

我希望这是有道理的,我试图在第二个查询中使用第一个查询的ID,但将其作为一个完整的语句而不是两个单独的语句。

预先感谢

1 个答案:

答案 0 :(得分:0)

在程序中不存在任何构造的情况下,很难提供准确的答案,但是通过将原始查询括在方括号中,应该可以在不使用两个单独的语句的情况下对第一个查询的结果执行第二个查询: / p>

((Tbl_OrderFeeItem)adj.Tbl_Order.Tbl_OrderFeeItem.Single(x =>
                  x.OrderId == adj.OrderId
                  && x.FeeTypeId == adj.FeeTypeId))
              .Tbl_FeeCheck
              .Single(x => x.OrderFeeItemId == formFee.OrderFeeItemId)
              .Tbl_PostPaymentOrderQuery
              .PostPaymentOrderQueryTypeId;