在 SharePoint 2007 中,对内容类型执行SPSiteDataQuery
with 筛选器按预期工作。
<Where>
<Eq>
<FieldRef Name='ContentType'/>
<Value Type='Text'>SomeContentType</Value>
</Eq>
</Where>
在 SharePoint 2010 中,相同的查询仅返回一个列表中的项目。一种可能的解决方法是过滤内容类型 ID。必须使用“BeginsWith”运算符,因为“列表内容类型”继承自“站点内容类型”:
<Where>
<BeginsWith>
<FieldRef Name='ContentTypeID'/>
<Value Type='Text'>SomeContentTypeId</Value>
</BeginsWith>
</Where>
但这将匹配具有此内容类型或任何继承内容类型的所有项目。这不是我想要的。
有谁知道如何创建一个SPSiteDataQuery
内容类型过滤器?