如何按复杂的Url模式进行分组

时间:2014-01-24 09:18:35

标签: c# sharepoint linq-to-sql group-by

我正在尝试按其属性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包含所有内容,这些内容不是映射路径,而是映射路径中的所有内容。

0 个答案:

没有答案
相关问题