エンティティのコレクションを一度に1つずつ送信したいと思います。
これには2つの理由があります。-大量のデータをアップロードしていて、複数の変更を送信すると、これらの転送のhttp制限を超えます。(この制限を変更したくない)-提出される各アイテムの進捗状況を確認したい。
例:アルバムがあり、各アルバムに写真(エンティティ)のコレクションがあるとします。ユーザーが写真を追加する場合は、チャンク全体ではなく、一度に1枚の写真をアップロードしたいと思います。
エンティティのコレクションを一度に1つずつ送信したいと思います。
これには2つの理由があります。-大量のデータをアップロードしていて、複数の変更を送信すると、これらの転送のhttp制限を超えます。(この制限を変更したくない)-提出される各アイテムの進捗状況を確認したい。
例:アルバムがあり、各アルバムに写真(エンティティ)のコレクションがあるとします。ユーザーが写真を追加する場合は、チャンク全体ではなく、一度に1枚の写真をアップロードしたいと思います。
一度に1つの変更を送信する場合は、編集をコミットするか、エンティティを追加または削除するときに、SubmitChangesを呼び出すだけです...
通常、UIで何らかのコミットボタンがある場合は、それを結び付けて、ローカルコミットと後続のSubmitChangesの2つのことを実行します。
DomainServiceでValidateChangeSetをオーバーライドして、ChangeSetに操作が1つだけであることを確認することもできます。これにより、クライアントが誤って一度に複数の変更をコミットしようとしないようになります...
SubmitChanges()は、変更セット内の変更を送信します(ロードしてから変更されたすべての変更)。動作を変更する方法はわかりませんが、サービスに独自の更新メソッドを記述して、更新するオブジェクトを渡すことができます。
更新に関する情報については、http://code.msdn.microsoft.com/RiaServicesの50ページあたりのriaservicesoverviewpreview.pdfを確認してください。
編集:昨日、WPFで同じことをしようとしているときにこのメソッドを見つけました:リンクテキスト。エンティティをデタッチしてからアタッチするというアイデアを使用しました(単一の静的グローバルDataContextを使用しています)。