我正在尝试使用查找表User
获取ProjectFollower
列表。这是我正在使用的查询。它返回4个项目的列表。列表中的第一项有一个值,接下来的三个是null。实际上数据库中有4个结果。为什么除了第一个空之外都是空的?
subscribers = project.ProjectFollower.Select(u => u.User).ToList();
Clarity的更新。
ProjectFollower表有4个用于此项目的条目,具有4个不同的UserID和相同的ProjectID。这4个UserID对应于现有用户。
答案 0 :(得分:0)
subscribers = project.ProjectFollower
.Where(u => u.User != null)
.Select(u => u.User).ToList();
答案 1 :(得分:0)
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);