5
如何检查列表是否包含项目...真的只对检查1个字段感兴趣,而不是检查列表中的每个字段。SharePoint:检查项目是否存在于列表中,最小开销
这怎么能以最有效的方式完成,创建一个SPListItemCollection并通过这个来检查唯一值是否真的会使CPU使用率变得平坦......当然,必须有一种方法来做到这一点,列表中的每个项目?
如何检查列表是否包含项目...真的只对检查1个字段感兴趣,而不是检查列表中的每个字段。SharePoint:检查项目是否存在于列表中,最小开销
这怎么能以最有效的方式完成,创建一个SPListItemCollection并通过这个来检查唯一值是否真的会使CPU使用率变得平坦......当然,必须有一种方法来做到这一点,列表中的每个项目?
这是来自Waldek Mastykarz的comparison of techniques。
一般规则是使用SPQuery。有关更多详细信息,请参阅SharePointDevWiki。这里有一个简单的例子:
SPList list = SPContext.Current.Web.Lists["Some List"];
SPQuery query = new SPQuery();
query.Query = @"
<Where>
<Eq>
<FieldRef Name='SomeField' />
<Value Type='Text'>Value To Match</Value>
</Eq>
</Where>";
SPListItemCollection found = list.GetItems(query);
if (found.Count > 0)
{
// Do something
}
约SPQuery的几个注意事项:
保存使用诸如U2U CAML Builder(Windows或Web版本 - Web更好的恕我直言)或Stramit CAML Viewer来构建和测试您的疑问,您自己会遇到很多麻烦。
再次感谢亚历克斯 – 2009-08-27 11:42:22