Я пытаюсь создать 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 без возврата всех результатов клиенту?