У меня есть следующий метод расширения для расчета средней оценки продукта.
public static class Extensions
{
public static decimal CalculateAverageRating(this ICollection<ProductReview> productReviews)
{
// Calculate and return average rating
return averageRatings;
}
}
Я хочу использовать этот метод в запросе EF, например:
var products = _context.Products
.Include(pr => pr.ProductReviews)
.AsQueryable();
if(searchParams.Rating != 0)
products = products.Where(p => p.ProductReviews.CalculateAverageRating() == searchParams.Rating);
Однако я продолжаю нажимать на ошибку «ArgumentException: выражение типа 'System.Collections.Generic.IAsyncEnumerable 1[Products.Reviews.ProductReview]' cannot be used for parameter of type 'System.Collections.Generic.IEnumerable
1 [System.Object]' метода».
Можем ли мы использовать метод расширения в EF Where? Пожалуйста, посоветуйте мне это.