3

私はこのようなものを持っています:

var tmp =_forumsDb.Threads
.Where(t => t.Id == variable)
.Select(t => new { Thread = t, Posts = t.Posts.Take(1) })
.Single();

今、私はtmp.Thread.Posts.Count();1になることを期待していますが、データベースにあるすべての投稿が必要です。明示的な量の投稿を取得するプロジェクションを使用することは可能ですか?遅延読み込みをオフにすることなく、単一のクエリでそれを実行できますか?

編集:私はこのようなことをしようとしましたが、それも機能しません:

var tmp =_forumsDb.Threads
.Where(t => t.Id == variable)
.Select(t => new { Thread = t, Posts = t.Posts.OrderBy(p => p.DateCreated).Take(1) })
.Select(t => t.Thread)
.Single();
4

1 に答える 1

2

tmp.Thread.Posts遅延読み込みが構成されているナビゲーション プロパティです。まだ読み込まれていないため、アクセスすると残りのすべての投稿が読み込まれます。

tmp.Postsはナビゲーション プロパティではありません。これは、別のクエリをトリガーせずにアクセスできるはずです。

于 2012-09-12T16:31:49.650 に答える