var allUsers = GetAllUsers()
.Where(x => x.UserStatusHistory
.OrderByDescending(y => y.Created)
.First().StatusId == (int) UserStatusEnum.Enabled);
我将上述内容作为IQueryable返回但是当我运行allUsers.Count();
时需要约5秒钟,它应该是非常即时的。有〜 2000 用户记录。
LINQ是否正在做一些低效的事情,例如为每个用户运行单独的查询来计算第一个UserStatusHistory记录?
edit to answer questions:
GetAllUsers() returns an IQueryable<User>
EF Core 1.1.1 is being used.