仅检索特定数量的子记录

时间:2011-08-18 11:29:15

标签: c# entity-framework

如果我写

db.Topics.Include("ChildTopics") 

然后它给出了所有孩子的评论。但我想要的只是“儿童主义创建日期”排序的前两个子主题。

2 个答案:

答案 0 :(得分:0)

这不可能仅包括前两个通过Include方法。 在您的情况下,您可以这样做:

var firstTwo = from topic in datacontext.Topics
    select new { Topic= topic, ChildTopic= topic.ChildTopics.OrderBy(c => c.childtopic_created_date).Take(2) };

答案 1 :(得分:0)

Include会对所有依赖项进行早期加载,但我不知道对此实现应用限制的方法。

另一种方法是塑造结果,如:

var comments = db.Topics.Select(_x=> 
                    new{
                        Topic = _x, 
                        TopTwoChildTopics = _x.ChildTopics.Top(2)
                       });