在以下声明中,我将加载“可出租物品”预订的总成本数量'。 这些是在“预订线”中添加的。在我的预订。租用的对象具有定义对象类型的rentalObjectType。在这种类型中'价格存储在日期范围内。
我使用方法" RetrievePrices(datetime,datetime)"获得总数。 这就像一个魅力,但它使用StartDate& amp; EndDate来自预订。在某些情况下,每个预订行可能会有不同的开始和/或返回日期。
我正在探讨如何在reservationLine.StartDate
方法中使用RetrievePrices()
(和EndDate)。
我这样做:
return this.Lines.Select(reservationLine => reservationLine.RentalObject)
.Select(rentalObject => rentalObject.RentalObjectType)
.Sum(rentalObjectType => rentalObjectType.RetrievePrices(this.StartDate, this.ReturnDate)
.Sum(rentalObjectPrice => rentalObjectPrice.Price));
并且希望做类似的事情:
return this.Lines.Select(reservationLine => reservationLine.RentalObject)
.Select(rentalObject => rentalObject.RentalObjectType)
.Sum(rentalObjectType => rentalObjectType.RetrievePrices(reservationLine.StartDate, reservationLine.ReturnDate)
.Sum(rentalObjectPrice => rentalObjectPrice.Price));
提前致谢!
史蒂夫
答案 0 :(得分:3)
您可以跳过所有选择,只需立即付款即可。然后,您将能够访问lambda中的reservationLine
:
return this.Lines.Sum(reservationLine =>
reservationLine.RentalObject
.RentalObjectType
.RetrievePrices(reservationLine.StartDate, reservationLine.ReturnDate)
.Sum(rentalObjectPrice => rentalObjectPrice.Price));
答案 1 :(得分:0)
我可能会遗漏一些显而易见的东西,但这不会有什么效果吗?
return this.Lines
.Select(reservationLine => reservationLine.RentalObject.RentalObjectType.RetrievePrices(reservationLine.StartDate, reservationLine.ReturnDate))
.Sum(rentalObjectPrice => rentalObjectPrice.Price));