SharePoint CSOM如何处理此代码块?
require(plotly)
data(airquality)
## Scatter plot ##
c <- plot_ly(data = airquality,
x = Wind,
y = Ozone,
type = "scatter",
mode = "markers"
)
c
“allDocs”集合是否完全枚举,或者Load参数中的Where子句是否精确定位了单个文件?
此外,必须有更好的方法在CSOM中通过文件名检索文件,而不选择“allDocs [0]”索引集合。 你会怎么做?
答案 0 :(得分:4)
如果使用以下代码,它应该精确定位单个文件:
dt1
你会怎么做?
可能是CAML查询。
答案 1 :(得分:0)
Microsoft®SharePoint®Server2010允许您使用LINQ to SharePoint 利用LINQ框架和LINQ to Entities对抗 SharePoint列表。 LINQ框架将LINQ转换为SharePoint 语句到协作应用程序标记语言(CAML),和 然后针对SharePoint对象模型或Web执行CAML 服务。 Source: MSDN
链接页面继续显示如何将文本编写器添加到context.Log属性以查看由Linq-to-Sharepoint生成的CAML。
在您的代码中,Linq被转换为IQueryable,它被传递到加载函数并转换为CAML。然后executeQuery运行所有存储的IQueryable表达式,并使用结果填充变量,例如allDocs。这是通常的Linq延迟执行。
如果您使用.Single(...)方法而不是.Where(...),Linq将尝试立即执行查询并返回单个项而不是IQueryable,其中load方法是期待。
正如Alex K所说,在查询执行完毕后,你可以使用标准的Linq方法,如.Single(),。UnitOrDefault(),.First(),.FirstOrDefault()等获取唯一或第一项从结果。