Updater メソッドを作成することで、SharePoint 外部リストのビジネス データを更新できるようになります。詳細については、「Business Data Connectivity モデルのデザイン」を参照してください。
Updater メソッドを作成するには
BDC デザイナーのエンティティを選択します。
メニュー バーで、[表示]、[その他のウィンドウ]、**[BDC メソッドの詳細]**を選択します。
[BDC メソッドの詳細] ウィンドウが表示されます。このウィンドウの詳細については、「BDC モデルのデザイン ツールの概要」を参照してください。
[メソッドの追加] の一覧で、**[Updater メソッドの作成]**を選択します。
次の要素がモデルに追加されます。これらの要素は [BDC メソッドの詳細] ウィンドウに表示されます。
更新というメソッド。
メソッドの入力パラメーター。
パラメーターの型記述子。Visual Studio では、既定により、Finder メソッドに対して定義したエンティティ型記述子 (例: Contact) が使用されます。
メソッドのメソッド インスタンス。
詳細については、「Business Data Connectivity モデルのデザイン」を参照してください。
[!メモ]
エンティティ型の識別子が自動的に生成しないデータベース テーブルのフィールドを表している場合は、trueに [Pre-Updater フィールド] のプロパティを設定します。
**[ソリューション エクスプローラー]のエンティティに対して生成された開き、[コードの表示]**を選択します。サービス コード ファイルのショートカット メニューが。
コード エディターで、エンティティ サービス コード ファイルが開きます。このファイルの詳細については、ビジネス データ接続モデルの作成を参照してください。
更新プログラムのデータに更新メソッドにコードを追加します。次の例では、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 Subpublic 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(); }