假设我有这样的问题:
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()
,但由于明显的原因,这对于父对象列表的性能不是很好。
有什么建议吗?