ここでは、List の Foreach メソッドを使用できます。元の製品が変更されることに注意してください。
using System;
using System.Collections.Generic;
_kContext.Products.ToList().ForEach(product => {
if (product.DiscountRate >= 0.3) {
product.Price += 10;
}
});
元のオブジェクトを変更したくない場合は、Linq Select を使用できます。
using System.Linq;
return _kContext.Products.Select(product => {
var newProduct = new Product();
newProduct.Price = product.Price;
newProduct.DiscountRate = product.DiscountRate;
if (newProduct.DiscountRate >= 0.3) {
newProduct.Price += 10;
}
return newProduct;
});
編集: プロパティ コンストラクターを使用して読みやすくする代替バージョン。
using System.Linq;
return _kContext.Products.Select(product => new Product {
DiscountRate = product.DiscountRate,
Price = product.Price + ((product.DiscountRate >= 0.3) ? 10 : 0)
});