.net クライアントを使用して OData にクエリを実行し、特定の DateTime 内の Last Published コンポーネントを取得しようとしています。常に例外で失敗しています'datetime' is not property of entity: 'com.tridion.storage.ComponentMeta'
var lastPubComponents = _client.Components
.Where(p => p.PublicationId == sitePubId && p.LastPublishDate > Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss")))
.ToList();
構築された Odata URL を確認すると、次のようになります。ブラウザーから同じ URL を使用して再確認しようとしましたが、予想される同じエラーが発生しました。
LINQで試したときのOdata URL
/cd_webservice/odata.svc/Components?$filter=PublicationId eq 59 and LastPublishDate ge datetime'2012-10-11T09:22:14'
datetime
上記のURLから文字列を削除して試し、ブラウザから再度確認しました。この URL は期待どおりに機能しており、正しい結果が得られています。
以下はURLです(datetimeなしで機能します)
/cd_webservice/odata.svc/Components?$filter=PublicationId eq 59 and LastPublishDate ge '2012-10-11T09:22:14'
そのようなことから、LINQ や .net クライアントの組み合わせに何か問題があると思います。
さまざまな日時形式の組み合わせで遊んでみましたが、同じエラーが発生します。Odata 標準を確認しdatetime
たところ、文字列を使用することが提案されていますが、それは私が問題を抱えているものです。
LINQコードからこれをデバッグ/解決する方法を知っている人はいますか? どんな助けでも大歓迎です。