Ich versuche, das OData mit .NET-Client abzufragen, um die Last Published-Komponenten innerhalb einer bestimmten DateTime zu erhalten. Es versagt immer mit einer Ausnahme 'datetime' is not property of entity: 'com.tridion.storage.ComponentMeta'
Tridion OData Abfrage mit Datetime-Filter - Fehler: Datetime ist keine Eigenschaft der Entität
var lastPubComponents = _client.Components
.Where(p => p.PublicationId == sitePubId && p.LastPublishDate > Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss")))
.ToList();
Wenn ich die konstruierte OData URL überprüft es wie folgt aussieht und ich versuchte, mit der gleichen URL von Browser ich nur zu verdoppeln überprüfen Sie die gleiche Fehlermeldung anzeigt, die erwartet wird.
OData URL, wenn ich mit LINQ versucht
/cd_webservice/odata.svc/Components?$filter=PublicationId eq 59 and LastPublishDate ge datetime'2012-10-11T09:22:14'
Ich habe versucht, durch die datetime
Zeichenfolge aus der oben genannten URL zu entfernen und wieder von Browser geprüft. Diese URL funktioniert wie erwartet und ich bekomme die richtigen Ergebnisse.
Im Folgenden finden Sie die URL (Arbeits w/out Datetime)
/cd_webservice/odata.svc/Components?$filter=PublicationId eq 59 and LastPublishDate ge '2012-10-11T09:22:14'
Diese Art von mir führt denken, es ist etwas falsch mit LINQ und/oder .net-Client-Kombination ist.
Ich habe versucht, mit verschiedenen Datetime-Format-Kombinationen zu spielen, und ich bekomme den gleichen Fehler. Als ich den Odata-Standard überprüfte, schlug ich vor, datetime
string zu verwenden, aber das ist derjenige, mit dem ich Probleme habe.
Kann jemand dieses vom LINQ-Code debuggen/auflösen? Jede Hilfe wird sehr geschätzt.
Ich öffnete ein Support-Ticket für die gleiche. Wird es veröffentlichen, sobald ich ein Update habe. –
Ich schaue auf http://www.odata.org/documentation/uri-conventions#FilterSystemQueryOption, aber ich finde immer noch nicht, wo der OData-Standard vorschlägt, 'DateTime' zu verwenden ... –