当 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 to Objects 来查询 SharePoint 对象,而不是 LINQ to SharePoint。这意味着您的 LINQ 表达式不会转换为 CAML,并且您不会看到与 CAML 转换相关的性能优势。
所以,我有点困惑,因为我认为 LINQ 表达式转换为 Caml 请求。我无法理解它是如何工作的。如何在执行ExecuteQuery()
方法时查看请求的详细信息?您能否向我推荐任何用于观看请求的工具?