Итак, у меня есть класс, который моделирует Sale
, сделанный в магазине.Класс Sale
имеет List
из Payment
.Класс продажи всегда имеет свойство под названием PointsPaid
, которое использует LINQ для определения суммы сумм платежей, которые выплачиваются с помощью баллов лояльности.Вот как выглядит класс.
public class Sale
{
private List<Payment> Payments {get;set;}
public decimal PointsPaid
{
get
{
return Payments.Where(p => p.PaymentType == PaymentType.Points)
.Sum(p => p.Amount) * LoyaltyRate
}
}
}
Мой вопрос: есть ли способ достичь того же самого для PointsPaid
без необходимости выполнять запрос LINQ каждый раз, когда я хочу получить сумму.Мне никогда не приходилось иметь дело с оптимизацией производительности, но это для реального клиента.
Каждый Sale
объект, вероятно, будет когда-либо только один Payment
, поэтому я также не уверен, будет ли в любом случае значительный спад производительности.