- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些代码可以调用像这样开始的 SharePoint 托管元数据服务:
var clientContext = new ClientContext("http://mysharepointsite/")
{ AuthenticationMode = ClientAuthenticationMode.Default};
var taxonomySession = TaxonomySession.GetTaxonomySession(clientContext);
var termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
我没问题。然而,在此之后我们有:
clientContext.Load(termStore,
store => store.Name,
store => store.Groups.Include(
group => group.Name,
group => group.TermSets.Include(
termSet => termSet.Name,
termSet => termSet.Terms.Include(
term => term.Name)
)
)
);
谁能帮我理解这里发生了什么?
起初我以为这是某种 LINQ 查询,但后来我希望该类有行 using System.Linq;
,它没有。
我刚刚注意到在 Visual Studio 中有一些 IntelliSense 表示调用的结构如下:void ClientruntimeContext.Load<T>(T clientObject, params System.Linq.Expressions.Expression<Func<T, object>>[] retrievals)
- 这让它看起来像是在以某种方式使用 Linq
我知道代码以某种方式从给定的共享点站点“加载”托管元数据服务中的术语库数据,但我不太明白该语法到底在做什么。
我从 here 得到代码示例,它完全按照我的意愿行事,但如果我真正理解该语法,我会感觉舒服多了!
The documentation也不是特别有用,因为它只是定义了 Load()
s 参数为 <T>
,可以是任何东西!
非常感谢任何建议或推荐阅读,谢谢!
最佳答案
ClientRuntimeContext.Load<T>
Method 此方法的第二个参数指定应使用 lambda 表达式检索目标客户端对象(第一个参数)的哪些属性。
示例
在下面的查询中,除了collection属性之外的所有属性,例如 TermStore.Groups
的 TermStore
client object将被检索
ctx.Load(termStore);
在下一个查询中,将为 TermStore.Name
client object 仅检索明确指定的属性列表( TermStore.Groups
、 TermStore
) :
ctx.Load(termStore, store => store.Name, store => store.Groups);
下一个问题出现了,如何指定要检索的集合客户端对象的哪些属性, Include<TSource>(IQueryable<TSource>, \[\])
method方法来拯救这里。
Include<TSource>(IQueryable<TSource>, \[\])
method 此方法用于限制从对象集合返回哪些属性(出于性能目的)
示例
下面的表达式
ctx.Load(termStore, store => store.Groups.Include( g => g.Name));
告诉构造查询以返回 TermStore
client object其中包括TermStore.Groups
属性,但不是 Group
的默认属性客户端对象,只有 Group.Name
属性(property)。
关于c# - 了解 ClientContext.Load 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37456065/
如何将此 c# CSOM 放入 powershell TaxonomyField taxonomyField = clientContext.CastTo(field); 我试过:$分类字段= $cl
我在我们的一项 WCF 服务中使用 SharePoint SDK。 要从 SharePoint 获取字节数组(文档),我使用 SDK 的 ClientContext 类。对 SharePoint 的调
我试图通过创建 ClientContext 的函数来避免重复代码。编译以下代码: template grpc::ClientContext&& context_with_deadline(T dura
我正在尝试测试此代码片段,但在“ClientContext oContext = new ClientContext(siteUrl);”上出现“缺少 using 指令或程序集引用”错误我直接从 Mi
我在使用 的不同用户操作上调用了多种方法ClientContext . 在每个方法执行上创建它会导致性能问题。 因此,我将其添加为可重用性的静态变量,性能平均提高了 5 秒,但随后在某些方法中它开始给
我有一些代码可以调用像这样开始的 SharePoint 托管元数据服务: var clientContext = new ClientContext("http://mysharepointsite/
在 Sharepoint 中,当我们加载 sp.js 文件之后,当我们使用给定代码时,它会提供当前站点上下文。但是我如何使用 url 获取站点上下文。 var context = new SP.Cl
我正在设计一个工具,它每隔几分钟运行一次,然后转到 Office 365 站点并检索和处理信息。 目前我已经开始使用 MSDN 指南 “使用基于声明的身份验证在 SharePoint Online 中
我正在使用 FSCopyObjectAsync 在 Cocoa 应用程序中复制文件。问题是,每当我尝试设置 info 字段(void * 类型的对象)时,应用程序都会因 EXEC_BAD_ACCESS
我正在尝试连接到 Sharepoint 实例以通过第 3 方工具发布一些内容。 我无法控制 Sharepoint 实例,但我确信我的帐户拥有全部权限。 ClientContext ct
这是我在我的项目中所做的: alert("before"); //It can not work cause the LIST is in the subsite called "Serv
我正在从共享点列表中获取信息,然后我想使用该数据。问题是我需要在使用数据之前从 Sharepoint 服务器更新数据,但我无法让 executeQuery() 工作。我可以让 executeQuery
我开发的 SharePoint 托管应用程序(SharePoint 应用程序)出现问题。SharePoint 版本为 2013。 应用程序网站是:http://app-12a34567bcde8f.s
我一直在学习客户端对象模型并遇到了方法 executeQueryAsync .我发现有很多方法可以调用此方法。我发现的一些是这些: var context = new SP.ClientContext
我正在关注这个 session 研讨会 http://video.ch9.ms/sessions/spc/2014/SPC261.mp4他们在哪里教你如何创建共享点应用程序 在某些时候我有这个脚本 $
我在网上看到的所有东西在尝试创建子任务时基本上都做同样的事情;它首先获取当前的客户端上下文,然后获取要为其创建新子任务的任务列表。 var clientContext = new SP.ClientC
在使用 lambda 时,文档表示您必须为 ClientContext 发送一个 base64 编码的 JSON 对象。它还表示客户端上下文必须是“str”而不是字节。 http://boto3.re
我有一些代码来创建一个 SharePoint Online 现代页面,该页面在 VS 中运行良好,并使用三个不同的 SharePoint 帐户进行了测试。在 Azure 函数上运行的相同代码仅适用于三
我是一名优秀的程序员,十分优秀!