我有兩個表格:類別和文章。一個類別可以有很多文章。我想要顯示按類別分類的新文章的概述。但是我想只顯示每個類別的前五篇文章。我應該如何編寫查詢來解決這個問題?使用Take to包含實體
我的第一個想法是這樣的:
var cat = from c in ctx.categories
where c.IsPublic == true
select c;
但是,這包含了所有的文章,我不知道如何寫類似c.articles.Take(5)進行查詢。可能嗎?
哦,它是帶有實體框架的ASP.NET MVC 2。
這是行不通的。或者我沒有正確使用它。我使用了兩個嵌套的foreach循環。首先遍歷類別,然後遍歷category.Articles。這是正確的方法嗎? – 2011-03-31 19:55:27
我相信最後一次選擇將放棄文章的急切加載。嘗試在最後一個投影之前插入一個執行查詢的「貪婪」操作,所以將最後一行改爲:'...)。ToList()。Select(c => c.Category);' – Slauma 2011-03-31 20:03:48
不。返回一切,而不僅僅是五篇文章。 – 2011-03-31 20:16:32