我正在为一堆我们经常需要查询的Sharepoint Lists创建一个类库。
问题是,如果像
一样简单,那么查询在所有页面上运行得很好(服务器端分页大约15个分页1000个项目)query = Tickets.Expand(o => o.Property1).Expand(o => o.Property2)
将响应转换为列表,然后可以进一步查询/排序/用户需要什么。 但是,我需要使用预定义的过滤器(按日期,按用户等)编写更多方法。
这里编译器向我抛出错误。
public IEnumerable<TicketsItem> GetTicketsByDate(DateTime? startDate)
{
ResultList = new List<TicketsItem>();
query = oDataService.Tickets.Where(d => d.EMail == "1");
token = null;
// Query ausführen
response = oDataService.Execute<TicketsItem>(query.RequestUri) as QueryOperationResponse<TicketsItem>;
do
{
// wenn Paging aktiv, nächste Seite vorbereiten
if (token != null)
{
response = oDataService.Execute<TicketsItem>(token) as QueryOperationResponse<TicketsItem>;
}
// Query-Ergebnisse hinzufügen
ResultList.AddRange(response);
} while ((token = response.GetContinuation()) != null);
return ResultList;
}
where子句只是一个毫无意义的模型。重要的部分是以下错误:
“System.Linq.IQueryable” 不能被隐含地转换成 “System.Data.Services.Client.DataServiceQuery” (免费翻译从德语到英语)
为什么没有where子句的查询运行正常,为什么一个查询失败?
答案 0 :(得分:0)
愚蠢的我。
query = oDataService.Tickets.Where(d => d.Created == dateStarted) as DataServiceQuery<TicketsItem>
做了这个伎俩