Может ли кто-нибудь помочь мне понять, какая работа происходит за кулисами, когда 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 вы можете писать запросы LINQ к объектам на стороне клиента, таким как списки и веб-сайты, а затем использовать класс ClientContext для отправки этих запросов на сервер. Важно понимать, что при таком подходе вы используете LINQ to Objects для запроса объектов SharePoint, а не LINQ to SharePoint. Это означает, что ваши выражения LINQ не преобразуются в CAML, и вы не увидите повышения производительности, связанного с преобразованием CAML.
Итак, я был немного смущен, потому что думал, что выражение LINQ преобразуется в запрос Caml. Я не могу понять, как это работает. Как я могу посмотреть детали запроса при выполнении метода ExecuteQuery()
? Не могли бы вы порекомендовать мне какие-либо инструменты для просмотра запросов?