Unë kam një metodë të klasës:
public static class ProductExtensions {
public static decimal GetPrice(this Product product, Guid rateId) {
return product.Prices
.Where(p => p.Rate.RateId == rateId)
.Select(b => b.UnitPrice)
.DefaultIfEmpty(product.UnitPrice)
.First();
}
}
dhe vlerësimi i një shprehje
decimal? total =
(from cartItems in storeDB.Carts
where cartItems.CartId == shoppingCartId
select (int?)cartItems.Count * cartItems.Product.GetPrice(store.RateId))
.Sum();
hedh një përjashtim:
LINQ tek njësitë nuk njohin metodën 'System.Decimal GetPrice (System.Guid)' metodë, dhe kjo metodë nuk mund të përkthehet në një shprehje dyqan.
Unë jam duke përdorur këtë kod shumë të njëjtë në vende të tjera dhe punon shumë mirë:
// Get the price for given rate
decimal price = product.GetPrice(rate.RateId);
Çdo ide si ta zgjidhim atë?