Ich verwende LINQ to DocumentDB und ich bin derzeit bemüht, die zurückgegebenen Datensätze durch ein Datetime-Feld zu filtern. Meine Frage lautet wie folgt:Linq to DocumentDB: Filtern nach Datetime-Feld
var mycollection = Client.CreateDocumentQuery<Test>(MyCollection.DocumentsLink)
.Where(d => d.Time >= DateTime.Now)
.AsEnumerable();
jedoch diese Abfrage stürzt immer mit der Meldung:
ExceptionMessage=The 'ObjectContent`1' type failed to serialize the response body for content type 'application/json; charset=utf-8'.
ExceptionType=System.InvalidOperationException
ExceptionMessage=Constant of type 'System.DateTime' is not supported.
ExceptionType=Microsoft.Azure.Documents.Linq.DocumentQueryException
Dieser Fehler tritt auf, weil ich das Filtern eines Datetime-Feld verwendet wird. Wenn ich nach einem beliebigen String-Feld filtern sollte, funktioniert das perfekt. Wie kann ich diesen Fehler verhindern?
hast du das gelesen? https://azure.microsoft.com/en-us/blog/working-with-dates-in-azure-documentdb-4/ –
+1 zu diesem writeup. Es verwendet ISO-8601-Zeichenfolgen, was meine Empfehlung zum Speichern von Datum-Uhrzeit-Daten in DocumentDB ist. –