代码段:更新服务器上的外部列表中的项

上次修改时间: 2010年9月27日

适用范围: SharePoint Server 2010

本文内容
说明
先决条件
使用此示例

说明

利用 SPList 类使用的 Update 方法更新外部列表中的项。以下代码段演示如何将项更新到外部列表。

先决条件

  • Microsoft SharePoint Server 2010 或 位于服务器上。

  • Microsoft Visual Studio。

  • 至少在 BDC 元数据存储中注册一个外部内容类型,并且有一个外部列表基于该外部内容类型。

    备注

    此示例中使用的外部列表无法使用传递身份验证。

使用此示例

  1. 启动 Visual Studio 并创建一个新的 C# 控制台应用程序项目。在创建此项目时,请选择".NET Framework 3.5"。

  2. 从"视图"菜单中,单击"属性页"以显示项目属性。

  3. 在"生成"选项卡中,为"目标平台"选择"任何 CPU"。

  4. 关闭项目属性窗口。

  5. 在"解决方案资源管理器"中的"引用"下,删除 System 和 System.Core 之外的所有项目引用。

  6. 将以下引用添加到项目中:

    1. Microsoft.SharePoint

    2. System.Web

  7. 将 Program.cs 中自动生成的代码替换为此过程结束时列出的代码。

  8. 将 <siteUrl>、<ExternalListName>、<BdcIdentity> 和 <Field>, <Value> 对替换为有效值。

  9. 保存项目。

  10. 编译并运行项目。

using System;
using System.Web;
using Microsoft.SharePoint;

namespace Microsoft.SDK.SharePoint.Samples.Bdc.ExternalList
{
    class Program
    {
        static void Main(string[] args)
        {
            using(SPSite site = new SPSite("<siteUrl>"))
            {
                SPServiceContext context = SPServiceContext.GetContext(site);
                SPServiceContextScope contextScope = new SPServiceContextScope(context);

                SPWeb web = site.OpenWeb();
                SPList list = web.Lists["<ExternalListName>"];
                SPListItem item = GetItemByBdcId(list, "<BdcIdentity>");
                item["<Field1>"] = "<Value1>";
                item["<Field2"] = "<Value2>";
                item["<Field3>"] = "<Value3>";
                // Set all fields.
                item.Update();
             }
        }
      public static SPListItem GetItemByBdcId (SPList list, string bdcIdentity)
      {
             SPListItem myitem = null;
          foreach(SPListItem item in list.Items)
          {
              if (item["BdcIdentity"].ToString() == bdcIdentity)
              {
                  myitem = item;
              }
          }
          return myitem;
      }

    }
}

请参阅

概念

设置上下文便于使用 BDC 对象模型