0

我正在使用 RavenDB Embedded。构建 888。有照片集:

public class Photo
    {
        private Dictionary<string, VoteDictionaryValue> _votes = new Dictionary<string, VoteDictionaryValue>();

        public Photo()
        {
            Created = DateTime.Now;
        }

        public string Id { get; set; }
        public string Title { get; set; }
        public string UserId { get; set; }
        public string Image { get; set; }
        public DateTime Created { get; private set; }

        public Dictionary<string, VoteDictionaryValue> Votes
        {
            get { return _votes; }
            protected set { _votes = value; }
        }
}

有索引:

public class PhotosSortByCreated : AbstractIndexCreationTask<Photo>
    {
        public PhotosSortByCreated()
        {
            Map = photos => from photo in photos
                            select new {photo.Created};

            Store(x => x.Created, FieldStorage.No);
            Sort(x => x.Created, SortOptions.String);
        }
    }

和查询:

RavenQueryStatistics stat;

var query = from photo in RavenSession.Query<Photo>()
                        orderby photo.Created descending
                        select photo;

var result = query.Statistics(out stat).Skip(page*pageSize).Take(pageSize).Customize(x => x.WaitForNonStaleResults(TimeSpan.FromSeconds(3))));

一张一张地添加10张照片。

通过这个查询,我只得到前 5-6 个。

所有新添加的照片都不会返回。

池重启后,我可以在 ravenDB 停止索引它们之前添加 5-6 张新照片。

所有添加的照片都保存在数据库中,但它们没有被索引。

为什么?

提前致谢。

4

1 回答 1

1

添加:

RavenSession.Query<Photo>().Customize(x=>x.WaitForNonStaleResultsAsOfNow())

怎么了?

于 2012-05-26T13:44:06.890 回答