Скажите, что у меня есть такой запрос:
SELECT TOP (1000)
[Apps].Id,
[Apps].Name,
(SELECT COUNT(*) FROM [DbName].[dbo].[Requests] Requests WHERE [Apps].Id = [Requests].AppId) as PendingRequests
FROM [DbName].[dbo].[Apps] Apps
Есть ли способ отобразить этот столбец подсчета без использования хранимой процедуры?
Я пробовал что-то вроде этого, что, похоже, не работает:
modelBuilder.Entity<AppModel>()
.Property(m => m.PendingRequests)
.HasComputedColumnSql(
"(SELECT COUNT(*) FROM [Requests] " +
"WHERE [Apps].[Id] = [Requests].[AppId]) as PendingRequests"
);
Я мог бы просто использовать заполненные IEnumerable
сторонних объектов для проверки Count()
, но это по понятным причинам не было бы очень производительным со списками родительского объекта.
Какие-нибудь советы?