Свободный NHibernate: загрузить фиксированное количество элементов из коллекции - PullRequest
1 голос
/ 02 февраля 2011

Предположим, у меня есть объект в Fluent NHibernate, который выглядит следующим образом:

 public class Feed
{
    public virtual int FeedId { get; set; }
    public virtual string FeedUri { get; set; }
    public virtual string FeedTitle { get; set; }
    public virtual string FeedHomePageUri { get; set; }

    public virtual IList<FeedItem> Items { get; set; }
}

Когда я загружаю коллекцию Items в эту сущность, можно ли сказать, что мой механизм запросов загружает только первые 10 элементов в коллекции?

Предположим, что в этой коллекции 10000 предметов - я хочу посмотреть только первые 10. Есть ли способ сделать это?

Я знаю, что коллекция загружена лениво, и я не об этом. Когда я открываю пузырь и наконец загружаю все, как мне остановить его на запрос всех 10000 записей, когда мне нужны только первые 10?

1 Ответ

0 голосов
/ 02 февраля 2011

Краткий ответ: вы не можете «загрузить половину» коллекции.Когда он загружен, все элементы:

Теперь ... что вы МОЖЕТЕ сделать, это использовать filters , которые являются просто запросами, созданными в коллекции.

Пример:

var feed = session.Get<Feed>(feedId);
var first10Items = session.Filter(feed.Items, "")
                          .SetMaxResults(10)
                          .List<FeedItem>()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...