ограничить количество элементов, загружаемых в свойство навигации - PullRequest
2 голосов
/ 06 февраля 2010

У меня есть следующий запрос в Linq:

var query = from question in context.Questions.Include("QAnswers")
            join answer in context.Answers
                on question.id equals answer.qst
            where answer.user == param_userID
            select question;    
return query.toList();

Проблема в том, что он вообще не загружает свойство навигации "QAnswers". Есть ли способ в Entity Framework вернуть сущность и ограниченный набор результатов в свойстве навигации?

Ps. Я использую EF4, если это важно

1 Ответ

0 голосов
/ 06 февраля 2010

Если я правильно понял, этого должно быть достаточно:

context.Questions.Include("QAnswers").Where(q => q.QAnswers.Any(a => a.user == param_userID));

Это вопросы, на которые ответил конкретный пользователь. Нет необходимости в соединениях.

EDIT

context.Questions.Where(q => q.QAnswers.Any(a => a.user == param_userID)).Select(q => new { Question = q, Answers = q.QAnswers.Where(a => a.user == param_userID) }).ToList();

Это вернет вопрос и только ответы конкретного пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...