[英]LINQ not evaluating check for null object
我想知道为什么我的 linq 语句没有正确评估对作为 Users 模型属性的 Agency 对象的空检查。
var invalidUsers = this.DbContext.Users.Where(p => p.Agency != null).ToList();
var invalidUsersList = invalidUsers.Where(p => p.Agency != null).ToList();
当我运行上面的代码时,第一行返回所有用户的列表,无论代理对象是否为空。 但是,第二行执行并正确过滤列表并返回正确返回用户的列表,其中代理不为空。
很可能因为这似乎是一个外键表,您需要首先将它包含在 LINQ 中,以便它可以查询它。
所以类似的东西。
var invalidUsers = await this.DbContext.Users
.Include(p => p.Agency)
.Where(p => p.Agency != null)
.ToListAsync();
试一试,看看它是否有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.