Получить количество объединенных таблиц на основе состояния столбца в запросе Linq для SQL

Я пытаюсь создать LINQ-эквивалент следующего запроса, где я хочу получить количество фондов, которые имеют тип, в котором FundType имеет значение NULL в объединенной таблице.

SELECT [e].[FoundationId], [e].[FoundationName], [e].[FoundationStatus],
SUM(CASE WHEN e0.FundType IS NULL THEN 1 ELSE 0 END) AS TypeCount
FROM [ExternalFoundations] AS [e]
LEFT JOIN [TypeMapping] AS [e0] ON [e].[FoundationID] = [e0].[FoundationID]
GROUP BY [e].[FoundationID], [e].[FoundationName], [e].[FoundationStatus]

Пока у меня есть следующее, которое при выполнении жалуется на ограничение, если EF Core 3.1:

Ошибка avigationExpandingExpressionVisitor

    var foundationSummary = _context.ExternalFoundations
        .GroupJoin(_context.TypeMapping, o => o.FoundationId, i => i.FoundationId,
        (o, i) => new
        {
            o.FoundationId,
            o.FoundationName,
            o.FoundationStatus,
            TypeCount = i.Where(i => i.FundType == null).Count()
        }).ToList();

Поддерживает ли этот тип запроса EF Core без возврата всех результатов клиенту?


person Geekn    schedule 21.09.2020    source источник
comment
Как об этом ?   -  person CodingYoshi    schedule 21.09.2020