Мне было просто интересно, загружает ли объект, содержащий коллекцию, например, сообщение, которое может содержать 0 -> n комментариев, если вы можете определить, сколько комментариев нужно возвращать.
На данный момент у меня есть это:
public IList<Post> GetNPostsWithNCommentsAndCreator(int numOfPosts, int numOfComments)
{
var posts = Session.Query<Post>().OrderByDescending(x => x.CreationDateTime)
.Take(numOfPosts)
.Fetch(z => z.Comments)
.Fetch(z => z.Creator).ToList();
ReleaseCurrentSession();
return posts;
}
Есть ли способ добавить Skip и Take to Comments, чтобы обеспечить некоторую функциональность подкачки в коллекции, чтобы вы не загружали много ненужных вещей.
Мне известно о отложенной загрузке, но я на самом деле не хочу ее использовать, я использую шаблон MVC и хочу, чтобы мой объект возвращался из загруженных репозиториев, чтобы я мог их затем кэшировать.Я на самом деле не хочу, чтобы мои представления вызывали операторы выбора.
Единственный реальный способ обойти это - не выполнять выборку по комментариям, а выполнить отдельный выбор по комментариям, чтобы упорядочить по дате создания и затем выбратьнапример, первые 5, а затем поместить возвращенный результат в объект Post?
Буду признателен за любые мысли / ссылки по этому поводу.
Спасибо,
Jon