我有這樣的事情:EF代碼優先+延遲加載,投影不會按預期
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();
我認爲這是一個合法的問題,並沒有值得downvote。 – rcdmk
我相信你的問題的答案很簡單:不。你爲什麼不想關閉延遲加載?你是否希望將它用於'Thread'實體的其他導航屬性? – Slauma