Linq查询返回正确数量的结果,除第一个结果外,所有结果都为null
本文关键字:结果 第一个 null 查询 Linq 返回 | 更新日期: 2023-09-27 17:57:54
我正在尝试使用查找表ProjectFollower
获取User
的列表。这是我正在使用的查询。它返回一个包含4个项目的列表。列表中的第一项有一个值,接下来的三项为空。事实上,数据库中有4个结果。为什么除了第一个以外都为null?
subscribers = project.ProjectFollower.Select(u => u.User).ToList();
更新以获得清晰度。
ProjectFollower表对此项目有4个条目,具有4个不同的UserID和相同的ProjectID。这4个UserID对应于现有用户。
subscribers = project.ProjectFollower
.Where(u => u.User != null)
.Select(u => u.User).ToList();
Per Jon的评论。问题出在查询上。
我有
var project = db.Projects
.Include(i => i.ProjectFollower)
.Include(i => i.User)
.SingleOrDefault(i => i.ProjectID == project_id);
我把它改成
var project = db.Projects
.Include(i => i.ProjectFollower)
.Include(i => i.ProjectFollower.Select(v => v.User))
.Include(i => i.User)
.SingleOrDefault(i => i.ProjectID == project_id);