2010-09-19 77 views
1

我有一个非常简单的LINQ to entites的语句: -我可以在Linq查询中的“包含”实体上执行“Take(x)”吗?

var query = (from q in Users.Include("UserHistory") 
      select q).Take(20); 

除了伟大工程......,为每个用户..史可以是n + 1。某些用户拥有UserHistory记录的100个。

那么,我可以限制UserHistory记录的数量为.. 10或5或其他?

我需要使用预测这个吗?没有投影可以吗?

回答

0

不能使用包括这样做,但你可以试试这个:

var query = 
    from user in Users 
    select new 
    { 
     user, 
     history = user.UserHistory.Take(20) 
    }; 

我不知道是否EF能创造它的一个单独的SQL查询。

+0

是的 - Alex James(MS ADO.NET/Linq-To-Sql/EF/OData成名)在twitter上证实了这一点。 – 2010-09-20 06:23:08

相关问题