c# – 在客户端对象模型中使用Linq对象模型来自sharepoint
发布时间:2020-12-15 04:23:17 所属栏目:百科 来源:网络整理
导读:我正在尝试使用LINQ对我从客户端对象模型得到的结果. var rolesAssignments = context.Web.RoleAssignments;context.Load(rolesAssignments,roles = roles.IncludeWithDefaultProperties(role = role.Member,role = role.RoleDefinitionBindings));context.E
我正在尝试使用LINQ对我从客户端对象模型得到的结果.
var rolesAssignments = context.Web.RoleAssignments; context.Load(rolesAssignments,roles => roles.IncludeWithDefaultProperties(role => role.Member,role => role.RoleDefinitionBindings)); context.ExecuteQuery(); var hasAdmin = rolesAssignments.Select(x => x.RoleDefinitionBindings.Cast<RoleDefinition>().Select(y => y.RoleTypeKind == RoleType.Administrator)).Any(); 我得到:
但是,当我重写这个以使用嵌套foreach循环,它工作正常. 从我可以从我的LINQ查询看到,我不使用任何未加载的属性. 解决方法
这是我的头顶,但它应该给你的想法.您可能会在查询中收到有关使用Any的投诉.如果这样删除它,然后在ExecuteQuery完成后检查hasAdmin.Any().
var query = rolesAssignments.Select(x => x.RoleDefinitionBindings.Cast<RoleDefinition>().Select(y => y.RoleTypeKind == RoleType.Administrator)).Any(); var hasAdmin = context.LoadQuery(query); context.ExecuteQuery(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |