6
A
回答
0
是的,你可以。你將通過兩個查詢來完成。
首先選擇你的作者。
List<Authors> authors = context.Authors.ToList();
第二選擇你的書。
List<Books> books=
( from b in context.Books
group b by b.AuthorName into groupedByAuthor
let maxDate = groupedByAuthor.Max(c=>c.PublishDate)
...
).ToList
當你這樣做時,EF會填充作者的書。注意你的參考文獻不會被「加載」,但你的1本書將會在那裏。
試試吧...... EF的歡樂魔法。
0
我會做這樣的:
var list = (from a in Authors.Include("Books")
join b in books.OrderByDesc(b => b.PublishedDate).Take(1)
on a.Id equals b.AuthorId into bo
select new { Author = a, Books = b }).ToList();
List<Author> authors = list.Select(o => o.Author);
其中作者是你的實體名稱和書籍的導航屬性的作者。您仍然擁有EntityCollection for Books,但它只應包含1個元素。
3
你不能使用.Include語法來做,但你可以使用投影。
var list = (from a in data.Authors
select new
{
Author = a,
Books = (from b in a.Books select b).Take(1)
}).ToList();
當你得到結果時,實現者將使用它的關係fixup,你將能夠使用list.Author.Books。
看到我的問題在: LINQ to Entities (Entity Framework) Join and .Include conflict
相關問題
- 1. 實體框架自動急切加載
- 2. 實體框架急切加載/「IncludeEverything()」?
- 3. 急切加載實體框架核心
- 4. 實體框架4.0 - 包括實體 - 急切的加載問題
- 5. 實體框架 - 急切加載相關實體
- 6. WebApi中的實體框架序列化沒有急切加載
- 7. 實體框架中急切加載的示例5.0
- 8. 爲什麼不急切加載在實體框架中工作
- 9. 實體框架急切加載實體列表內的實體列表
- 10. 實體框架:AsNoTracking殺死相關對象的急切加載
- 11. 來自實體框架的急切加載SP
- 12. 實體框架急切加載多級異常
- 13. 實體框架 - 急切加載子類相關對象
- 14. 實體框架在使用Include()時並不急切加載
- 15. 實體框架4急切加載根本不工作!
- 16. 急切地加載Linq2Sql中的實體
- 17. 帶有實體框架的ASp.NET MVC:視圖中的急切和延遲加載
- 18. 如何做到實體框架中急切加載的對立面?
- 19. 實體框架急切加載每種類型的表繼承派生類
- 20. 如何急切地加載與實體框架代碼的多對多關係?
- 21. 實體框架急切加載與相關對象相關的對象
- 22. 急於加載使用實體框架的錯誤WCF 6
- 23. 選擇性審計與實體框架
- 24. 實體框架 - 急於使用過濾器加載?
- 25. n層應用程序中的實體框架 - 懶惰加載與急切加載模式
- 26. 實體框架5不加載屬性
- 27. 實體框架5選擇
- 28. 實體框架選擇行
- 29. MySql實體框架選擇
- 30. 實體框架4.1 - 選擇
我不相信在.include( 「書」)是必要的在這裏。任何條件標準(例如Take或甚至是它自己的連接)都會告訴EF這裏存在一些條件,它不應包含所有內容,因此.Include將被刪除。至少我是這麼理解的,而且我已經使用過這種語法。 – 2010-05-03 03:20:12