Tridion OData Query mit Datetime-Filter - Fehler: datetime ist keine Eigenschaft von Entity

8

Ich versuche, die OData mit dem .net-Client abzufragen, um die Last Published-Komponenten innerhalb einer bestimmten DateTime zu erhalten. Es schlägt immer mit einer Ausnahme 'datetime' is not property of entity: 'com.tridion.storage.ComponentMeta'

fehl %Vor%

Als ich die erstellte Odata-URL überprüfte, sieht es wie folgt aus und ich versuchte es mit der gleichen URL vom Browser, nur um zu überprüfen, dass ich denselben Fehler bekam, der erwartet wird.

Odata URL, wenn ich mit LINQ versucht habe

%Vor%

Ich habe versucht, indem ich die Zeichenfolge datetime von der obigen URL entfernt und erneut im Browser überprüft habe. Diese URL funktioniert wie erwartet und ich bekomme die richtigen Ergebnisse.

Unten ist die URL (funktioniert ohne Datum / Uhrzeit)

%Vor%

Das führt mich zu der Annahme, dass etwas mit der LINQ- und / oder .net-Client-Kombination nicht stimmt.

Ich habe versucht, mit verschiedenen Datetime-Formatkombinationen zu spielen und bekomme den gleichen Fehler. Als ich den Odata-Standard überprüft habe, wird vorgeschlagen, datetime string zu verwenden, aber das ist der, mit dem ich Probleme habe.

Jeder weiß, wie man diesen vom LINQ-Code debuggt / auflöst? Jede Hilfe wird sehr geschätzt.

    
Ram G 12.10.2012, 18:55
quelle

2 Antworten

9

Die OData-Spezifikationen erwähnen die Möglichkeit, mit Konstrukten wie "LastPublishDate ge datetime'2012-10-11T09: 22: 14" in Ссылка , aber dies wurde nicht in das Produkt implementiert. Im Produkt sind jedoch die von OData-Spezifikationen für das Filtern zulässigen Datumsmethoden ( Ссылка ). Dies sind Tag (), Stunde (), Minute (), Monat (), Sekunde () und Jahr () und das bedeutet im Grunde genommen eine Albtraum-Abfrage für Sie:

%Vor%

Hoffe, das hilft.

Grüße, Daniel.

    
Daniel Neagu 15.10.2012, 06:53
quelle
0

Versuchen Sie es

%Vor%     
Shekhar Gigras 13.10.2012 04:59
quelle