我正在尝试按其属性Url
对对象列表进行分组。
为了更好地理解,这是后台:我编写了一个脚本,它迭代我们的Sharepoint Farm中的所有SPWebapplications
并获得所有级别的所有权限,直至{{1}的级别}。
此信息以此模式保存:
SPList
等等。
现在作为一个我知道的人,我有n个映射路径(Url | Type | User | PermLevel | GrantedFrom
--------------------------------------------------------------------------------
http://farm/ SpWeb User1 Full Control Owner of SC
http://farm/orga SPWeb UserN Read Direct Assignment
...),表明这是SiteCollection的路径。 /mp1/ /mp2/
将是一个SiteCollection,而http://farm/project/PermissionAnalysis/
只是一个SPList。
我的目标是通过它的SiteCollection对所有300.000个对象进行分组,这需要从它的URL进行解析。
正如我所说,我知道,哪些映射路径指向SiteCollection,因此我创建了一个数组:
http://farm/xyz/someList
我也知道,这些映射的路径总是在var mappedPaths = new [] {"/mp1/", "/mp2/", };
之后
此外,http://farm/
本身就是一个Sitecollection。
我无法理解如何在Linq中构建适合的分组表达式以满足我的要求。
目标是获得一个分组,其中“键是这样的:
http://farm/
//编辑: 我忘了提到我到目前为止所做的事情。
http://farm/ //explicitly exclude every managed path
http://farm/mp1/
http://farm/mp2/
http://farm/mp3/
http://farm/mp4/
这给了我2把钥匙。 True和False,其中false包含所有内容,这些内容不是映射路径,而是映射路径中的所有内容。