Укажите индексную коллекцию документов для сортировки - PullRequest
4 голосов
/ 30 декабря 2011

Давайте представим, что у меня есть следующее определение индекса:

public class LastSuspensions: AbstractIndexCreationTask<Casino, LastSuspensions.ReduceResult>
    {
        public class ReduceResult
        {
            public string CityId { get; set; }
            public DateTime DateTime { get; set; }
            public string CasinoId { get; set; }
            public IList<Exemption> Exemptions { get; set; }
        }

        public LastSuspensions()
        {
            Map = casinos => from casino in casinos
                             from suspension in casino.Suspensions
                             select new { CityId = casino.CityId, DateTime = suspension.DateTime, CasinoId = casino.Id, Exemptions = suspension.Exemptions };

            Store(x => x.CityId, FieldStorage.Yes);
            Store(x => x.DateTime, FieldStorage.Yes);
            Store(x => x.CasinoId, FieldStorage.Yes);
            Store(x => x.Exemptions, FieldStorage.Yes);
        }

Можно ли указать, что я хочу, чтобы коллекция исключений сортировалась по одному из ее свойств?

Ответы [ 2 ]

2 голосов
/ 30 декабря 2011

Вам не нужно звонить в магазин по этим полям. А так как вы собираетесь извлечь всю коллекцию исключений, как часть загрузки документа, нет никакой реальной дополнительной платы за выполнение сортировки на клиенте.

0 голосов
/ 08 января 2012

Ваш класс Исключение должен реализовывать интерфейс IComparable.Интерфейс IComparable определяет метод CompareTo (T), который определяет порядок сортировки экземпляров реализующего типа.Образец можно найти здесь , а также здесь .

Я надеюсь, что это полезно.

Привет, Евгения

...