HOW TO:加入更新者方法
您可以藉由建立「更新者」(Updater) 方法,讓使用者更新 SharePoint 外部清單中的商務資料。 如需詳細資訊,請參閱設計商務資料連接模型。
若要建立更新者方法
在 BDC 設計工具上,選取實體。
按一下 [檢視] 功能表上的 [其他視窗],然後按一下 [BDC 方法詳細資料]。
[BDC 方法詳細資料] 視窗隨即開啟。 如需這個視窗的詳細資訊,請參閱 BDC 模型設計工具概觀。
在 [BDC 方法詳細資料] 視窗的 [新增方法] 下拉式清單中,選取 [建立更新者方法]。
Visual Studio 會將下列項目加入至模型。 這些項目會顯示在 [BDC 方法詳細資料] 視窗中。
名為 Update 的方法。
此方法的輸入參數。
此參數的型別描述元。 根據預設,Visual Studio 會使用您針對搜尋方法定義的實體類型描述元 (例如:連絡人)。
此方法的方法執行個體。
如需詳細資訊,請參閱設計商務資料連接模型。
注意事項
如果實體類型的識別項代表資料庫資料表中無法自動產生的欄位,請將 [預先更新者欄位] 屬性設定為 [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(); }