Linq to Sql с лямбда-суммой в качестве условия where

У меня следующий запрос

from p in _context.Products
where p.Purchases.Sum(item => item.CCAmount) > 0 && p.Purchases.Sum(item => item.CCAmount) > p.PayOuts.Sum((item => item.AmountPaid)
select p;

В основном Я пытаюсь получить все продукты, суммарная сумма покупки которых превышает 0, и суммарная сумма покупки которых превышает сумму, которую мы выплатили (мы продаем продукты от имени других людей и выплачиваем им полную или частичную оплату) Проблема в том, что если в таблице выплат для определенного продукта нет записей, этот продукт не отображается в итоговом списке. Однако, если я вставлю выплату в таблицу выплат, этот продукт появится в списке продуктов. почти так, как если бы использование sum в пустой коллекции не оценивалось так, как можно было бы ожидать, например, как 0. Я что-то упустил?

Спасибо за вашу помощь.

6
задан svick 3 November 2011 в 19:11
поделиться