0

Userルックアップテーブルを使用したリストを取得しようとしていますProjectFollower。これは私が使用しているクエリです。4つのアイテムのリストを返します。リストの最初の項目には値があり、次の3つはnullです。実際、データベースには4つの結果があります。最初のnull以外はなぜですか?

 subscribers = project.ProjectFollower.Select(u => u.User).ToList(); 

明確にするために更新されました。

ProjectFollowerテーブルには、このプロジェクトの4つのエントリがあり、4つの異なるUserIDと同じProjectIDがあります。これらの4つのUserIDは、既存のユーザーに対応しています。

4

2 に答える 2

0

ジョンのコメントによる。問題はクエリにありました。

私が持っていた

                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);
于 2013-02-06T18:21:12.527 に答える
0
subscribers = project.ProjectFollower
.Where(u => u.User != null)
.Select(u => u.User).ToList(); 
于 2013-02-06T17:29:39.057 に答える