我如何检查列表是否包含项...真的只对检查1个字段感兴趣,而不对列表中的每个字段感兴趣。
如何以最有效的方式完成此操作,创建一个SPListItemCollection并通过此方法进行检查以检查唯一值,实际上将使cpu的使用趋于平直。列表?
最佳答案
这是Waldek Mastykarz的一首好歌。
一般规则是使用SPQuery。有关更多详细信息,请参见comparison of techniques。这是一个基本示例:
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(SharePointDevWiki或Windows版本-Web最好是IMHO的版本)之类的工具或Web来构建并测试来为您节省很多麻烦。
关于SharePoint : Check if item exists in a list,的最低开销,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1340444/