使用DateTime进行DocumentDb查询

时间:2017-04-21 10:03:02

标签: c# azure-cosmosdb

我有对象:(这只是其中的一部分!)

class Flyer { public DateTime? ValidTo {get;set;} }

在DocumentDb中它看起来像这样:

"ValidTo": "2016-11-05T22:59:00Z"

如果在C#后端,我这样做:

var query = Client.CreateDocumentQuery<FlyerDocument>(
                UriFactory.CreateDocumentCollectionUri(DatabaseName, CollectionName))
                .Where(
                    doc =>
                        doc.Type == DocumentType.Flyer &&
                        doc.Entity.ValidTo != null && doc.Entity.ValidTo >= DateTime.UtcNow.AddDays(-7))
                .AsDocumentQuery();

            var results = new List<FlyerDocument>();
            while (query.HasMoreResults)
            {
                results.AddRange(await query.ExecuteNextAsync<FlyerDocument>());
            }

doc.Entity.ValidTo >= DateTime.UtcNow.AddDays(-7) 抛出InvalidOperationException

如何克服它?

@EDIT: 异常消息是nullable object must have a value @EDIT 2: DB中有一些文档没有此字段。

0 个答案:

没有答案