EF6:如何将两个不同的 count() 查询合并为一个
本文关键字:一个 count 查询 合并 两个 EF6 | 更新日期: 2024-10-25 09:23:04
var filesCount = files.Where(f => f.ParentId == folderId).Count();
var foldersCount = folders.Where(f => f.ParentId == folderId).Count();
我的主要目标是将数据库的往返次数从两个减少到一个。
背景
- .NET Framework 4.5.2
- 实体框架 6
如果您有从文件夹到子文件夹以及从文件夹到文件的导航属性,则可以执行以下操作:
var result =
folders
.Where(x => x.Id == folderId)
.Select(x => new
{
FolderCount = x.SubFolders.Count(),
FileCount = x.Files.Count()
})
.FirstOrDefault();