您可以使用户通过创建 Updater 方法来更新 SharePoint 外部列表中的业务数据。有关更多信息,请参见设计业务数据连接模型。
创建 Updater 方法
在BDC设计器中,选择实体。
在菜单栏上,依次选择 *** 视图 ***,*** 其他Windows ***,*** BDC方法详细信息 ***。
将打开“BDC 方法详细信息”窗口。有关此窗口的更多信息,请参见 BDC 模型设计工具概述。
在 *** 添加方法 *** 列表中,选择 *** 创建Updater方法 ***。
Visual Studio 将以下元素添加到模型中。这些元素将显示在“BDC 方法详细信息”窗口中。
名为 ***** 更新 *****的方法。
该方法的输入参数。
参数的类型描述符。默认情况下,Visual Studio 将使用您为 Finder 方法定义的实体类型描述符(例如:Contact)。
该方法的一个方法实例。
有关更多信息,请参见设计业务数据连接模型。
说明
如果实体类型的标识符在不会自动生成的数据库表中表示一个字段,设置 *** 之前的Updater字段 *** 属性设置为 *** True ***。
在 *** 解决方案资源管理器 ***,请打开的实体生成服务代码文件的快捷菜单,然后选择 *** 查看代码 ***。
在代码编辑器中打开实体服务代码文件。有关此文件的更多信息,请参见 创建业务数据连接模型。
添加代码以更新方法以更新数据。下面的示例更新 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(); }