Могу ли я сделать "Take (x)" для сущности "Включить" в запросе Linq? - PullRequest
1 голос
/ 19 сентября 2010

У меня очень простое утверждение linq to entites: -

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

прекрасно работает ... за исключением того, что для каждого пользователя .. история может быть n + 1. У некоторых пользователей есть 100 записей UserHistory.

Итак, можно ли ограничить количество UserHistory записей до .. 10 или 5 или что-то еще?

Нужно ли для этого использовать проекции ? Можно ли это сделать без проекций ?

1 Ответ

0 голосов
/ 19 сентября 2010

Вы не можете сделать это, используя include, но вы можете попробовать это:

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

Я не уверен, что EF может создать один отдельный SQL-запрос.

...