2010-12-06 29 views
0

SilverlightをWCF Servicesライブラリと共に使用すると、2人の異なるユーザーがレコードを読み込んで異なるレコードを変更して更新する方法を解決する方法を教えてください。言い換えれば、WCFサービスは、取得したデータが更新を適用する前にフェッチしたデータと同じであることをどのようにして知っていますか?SilverlightのWCFサービスでのデータ競合の解決

元の読み込み済みの値をデータベースの値と照らし合わせる必要がありますか(つまり、更新前に元のクエリを呼び出す)必要がありますか?

私は、すぐに使える答えがあることを望んでいました。

答えて

1

あなたはEntityFrameworkを使用していますか?その場合は、私が使用した戦略は次のとおりです。

クライアント側でデータを取得すると、エンティティの「RowState」プロパティがなくなっていることがわかります。私がしたのは、クライアント側でプロパティを「部分クラス」機能を使って追加したことです。そして、私はそのRowState値の値をロ​​ーカルで管理します。

データが更新のためにサーバーに戻されるときは、「RowState」プロパティで変更されたフィルタのみを送信します。

Updateメソッドで、オブジェクトのApplyCurrentValues()メソッドを呼び出します。

もっと良い解決策があるかもしれませんが、それは私のプロジェクトで使用しているものです。私はそれについてそれを確認していないので、funnily十分な私はEntity Frameworkを、その使用についての質問このサイト上の別のポストを持っている - そしてそれは私が見ていることをあげる私の場合:)

幸運

+0

に適しています。 – EzaBlade

+0

返事をありがとう。 – EzaBlade

+0

実際はわかりませんか?データアクセスライブラリを使用してデータを取得するWCFサービスライブラリがあります。私がサービスを呼び出すと、データはサービスを介してクライアントに返されます。 EFはどこですか? – EzaBlade

関連する問題