如何:添加 Updater 方法

您可以使用户通过创建 Updater 方法来更新 SharePoint 外部列表中的业务数据。 有关更多信息,请参见设计业务数据连接模型

创建 Updater 方法

  1. 在 BDC 设计器中选择一个实体。

  2. 在**“视图”菜单上单击“其他窗口”,然后单击“BDC 方法详细信息”**。

    将打开**“BDC 方法详细信息”**窗口。 有关此窗口的更多信息,请参见 BDC 模型设计工具概述

  3. 在**“BDC 方法详细信息”窗口的“添加方法”下拉列表中,选择“创建 Updater 方法”**。

    Visual Studio 将以下元素添加到模型中。 这些元素将显示在“BDC 方法详细信息”窗口中。

    • 一个名为**“Update”**的方法。

    • 该方法的输入参数。

    • 参数的类型描述符。 默认情况下,Visual Studio 将使用您为 Finder 方法定义的实体类型描述符(例如:Contact)。

    • 该方法的一个方法实例。

    有关更多信息,请参见设计业务数据连接模型

    提示

    如果实体类型的标识符表示数据库表中非自动生成的字段,则将“Pre-Updater 字段”属性设置为“True”

  4. 在**“解决方案资源管理器”中,右击为该实体生成的服务代码文件,然后单击“查看代码”**。

    在代码编辑器中打开实体服务代码文件。 有关实体服务代码文件的更多信息,请参见创建业务数据连接模型

  5. 向 Updator 方法添加代码以更新数据。 下面的示例更新 SQL Server 的 AdventureWorks 示例数据库中的联系人信息。

    提示

    用您的服务器名称替换 ServerName 字段的值。

    Public Shared Sub Update(ByVal contact As Contact)
        Const ServerName As String = "MySQLServerName"
        Dim dataContext As AdventureWorksDataContext = _
            New AdventureWorksDataContext("Data Source=" & ServerName & _
                ";Initial Catalog=AdventureWorks;Integrated Security=True")
    
        Dim ContactToUpdate As Contact = (From Contacts In dataContext.Contacts.AsEnumerable().Take(20) _
             Where Contacts.ContactID = contact.ContactID _
             Select Contacts).Single()
    
        With ContactToUpdate
            .FirstName = contact.FirstName
            .LastName = contact.LastName
            .EmailAddress = contact.EmailAddress
            .Phone = contact.Phone
            .EmailPromotion = contact.EmailPromotion
            .NameStyle = contact.NameStyle
            .PasswordHash = contact.PasswordHash
            .PasswordSalt = contact.PasswordSalt
        End With
    
        dataContext.SubmitChanges()
    
    End Sub
    
    public static void Update(Contact contact)
    {
        const string ServerName = "MySQLServerName";
        AdventureWorksDataContext dataContext = new AdventureWorksDataContext
              ("Data Source=" + ServerName + ";" +
               "Initial Catalog=AdventureWorks;Integrated Security=True");
    
        var contactToUpdate = (from contacts in dataContext.Contacts
                                where contacts.ContactID == contact.ContactID
                                select contacts).Single();
    
        contactToUpdate.FirstName = contact.FirstName;
        contactToUpdate.LastName = contact.LastName;
        contactToUpdate.EmailAddress = contact.EmailAddress;
        contactToUpdate.Phone = contact.Phone;
        contactToUpdate.EmailPromotion = contact.EmailPromotion;
        contactToUpdate.NameStyle = contact.NameStyle;
        contactToUpdate.PasswordHash = contact.PasswordHash;
        contactToUpdate.PasswordSalt = contact.PasswordSalt;
        contactToUpdate.ModifiedDate = DateTime.Now;
        contactToUpdate.rowguid = Guid.NewGuid();
        dataContext.SubmitChanges();
    
    }
    

请参见

任务

如何:添加 Finder 方法

如何:添加特定的 Finder 方法

如何:添加 Creator 方法

如何:添加 Updater 方法

如何:添加 Deleter 方法

如何:向方法添加参数

如何:定义方法实例

概念

BDC 模型设计工具概述

其他资源

设计业务数据连接模型