当LINQ被用来检索SharePoint对象时,有人能帮助我理解场景后面是什么样的工作吗?对于示例,我可以使用如下代码:
private IEnumerable<List> newLists;
var dt = new DateTime(2010, 3, 20);
var query = from list
in clientContext.Web.Lists
where list.Created > dt && list.Hidden == false
select list;
newLists = clientContext.LoadQuery(query);
clientContext.ExecuteQuery();它怎麽工作?
请求看起来怎么样?
从文档我发现:
使用CSOM时,可以针对客户端对象(如列表和Web)编写LINQ查询,然后使用ClientContext类将这些查询提交给服务器。重要的是要理解,当您采用这种方法时,您使用LINQ对象来查询SharePoint对象,而不是使用。这意味着LINQ表达式不会转换为CAML,也不会看到与CAML转换相关的性能好处。
所以,我有点困惑,因为我认为LINQ表达式被转换为Caml请求。我不明白它是怎么工作的。如何在执行ExecuteQuery()方法时查看请求的详细信息?你能给我推荐一些观看请求的工具吗?
发布于 2012-12-02 08:36:47
SP在内部使用CAML : SP运行时将Linq转换为CAML,并通过Soap请求或REST语句(如果使用RESTful服务):http://msdn.microsoft.com/en-us/library/ff798339.aspx (附例)发送;
请参阅这里的更多内容:http://msdn.microsoft.com/en-us/library/ff798464.aspx
这可能会很有帮助:http://nikspatel.wordpress.com/2012/08/05/sharepoint-2010-data-querying-options-server-om-vs-client-om-vs-rest-vs-linq-vs-search-api/
https://stackoverflow.com/questions/13667324
复制相似问题