Silverlight 5 の Entity Framework で RIA サービスを使用しています。次のFoo
表があります。
Fooid
FooName
FooCode
FooRef
Fooid
自動インクリメント番号 - 保存時にチャームのように機能します...
FooName
ViewModel で設定されます - 保存時に正常に動作します...
FooCode
GRN、SIP、XYZ などの 3 文字のコードです ... これも ViewModel で設定されます。 .
FooRef
増加する整数は問題ありません。たとえば、サーバーに最後に保存された値は 100 で、次の保存は 101 になります。
この最新の番号を取得する方法について少し混乱しています。少し調べたところ、2つの方法が見つかりましたが、これらの使用方法が混乱しており、実装方法の助けが必要です。
First Method
FooRef
ViewModel から、最後に保存されたint
を提供できる RIA サービスから INVOKE を呼び出すことができます。1 ずつ追加して、SubmitChanges に値を渡すことができます。
Problem with First Method :
この方法で私が直面する問題は、異なる場所のワークステーションに 3 人のユーザーがいるとしましょう。それらはすべて newFoo
の作成を開始し、invoke メソッドを呼び出すと、すべて同じ値が与えられ、概念全体が崩壊します。
Second Method
私はどういうわけかサーバー上の Add メソッドをインターセプトし、リポジトリ経由である可能性があり、FooRef
このエンティティを追加して変更を送信する直前の値を取得します。
誰でも助けることができますか?