在我的Asp.Net.Core 2.0 MVC项目中,我遇到了问题。 即使我确定不应该这样做,这种方法也会返回。
private ApplicationDbContext _context;
private bool AreAllEmailsSent(DateTime deadline)
{
return _context.Users
.Where(u => u.EmailConfirmed)
.All(u => u.LastEmailSent > deadline);
}
最奇怪的部分是当我把.ToList()它返回false,这在我的单元测试中是正确的
private bool AreAllEmailsSent(DateTime deadline)
{
return _context.Users
.Where(u => u.EmailConfirmed).ToList()
.All(u => u.LastEmailSent > deadline);
}
没有编译错误或警告。我知道
_context.Users.Where()
是ApplicationUsers的IQueriable。 我知道这是一个广泛的问题,但有人可以解释为什么会发生这种情况吗?这对我来说非常危险。