質問を簡略化するために、双方向バインディングを適用する1つのテキストボックスコントロールがあります。私はサーバー側に例えばCustomerというオブジェクトクラスを持っていますが、Silverlightアプリケーションは明らかに別のプロジェクトです。SilverlightとWCFサービスを使用した双方向バインディング
public class Customer
{
public string Name{ get; set; }
}
WCFサービスでは、顧客名が入力され、顧客タイプの一覧を返すクエリがあります。
List<Customer> data = new List<Customer>();
は、クライアント側では、私は、これは、TextBoxコントロールにバインドされてい:
<TextBox Canvas.Left="345" Canvas.Top="12" Height="23" Name="tb_customer" Width="120" Text="{Binding Path=Name}" />
List<ServiceReference.Customer> data = e.Result;
tb_customer.DataContext = data[0];
これが正常に動作している、とTextBoxコントロールに顧客名を結合しています。しかし、私の質問は、クライアント側で値を変更すると、変更された顧客名をデータソースに戻す方法です(この場合、sqlserverのcustomersという名前のテーブル)。顧客クラスにINotifiyPropertyChangedを実装する必要がありますか?しかし明らかに顧客クラスはサーバー側にあるので、クライアント側の顧客クラスのローカルインスタンスを作成し、wcfサービスを介してこれらの変更をサーバーにアップロードする必要がありますか?このようにテキストボックスを設定し
もしORMを使用していないのであれば、手動でwcfサービスのアップデートを処理する最良の方法は何ですか? –
オブジェクトをサービスに戻す必要があります(私はあなたがRIAサービスを使用していると仮定します)、手動で更新クエリを作成して実行します。 –