我正在尝试使用 .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(工作不带日期时间)
/cd_webservice/odata.svc/Components?$filter=PublicationId eq 59 and LastPublishDate ge '2012-10-11T09:22:14'
这让我认为 LINQ 和/或 .net 客户端组合有问题。
我尝试使用不同的日期时间格式组合,我得到了同样的错误。当我检查 Odata 标准时,建议使用datetime
字符串,但这是我遇到的问题。
有人知道如何从 LINQ 代码调试/解决这个问题吗?任何帮助将不胜感激。