デフォルトで「Null」であるデータベース「IsActive」にフィールドがあります。ここで、フィールドを一度更新して true に設定したいと思います。フィールドが true に設定されたら、それ以上の変更を禁止する必要があります。助けてください!
質問する
79 次
1 に答える
0
RIA サービスは、エンティティで作成する各プロパティに対して、オーバーライドするためにプロパティ値が変更されたときに呼び出されるいくつかの部分的なメソッド スタブも作成します。たとえば、IsActive プロパティの場合、RIA サービスは以下を生成します。
Private Partial Sub OnIsActiveChanging(ByVal value As Boolean)
End Sub
Private Partial Sub OnIsActiveChanged()
End Sub
これらのスタブは、RIA サービスがコンパイル時に作成するファイル (Silverlight プロジェクト フォルダーの Generated_Code フォルダーにあります。プロジェクト自体には含まれません) にあります。
変更を「キャンセル」する方法はありませんが、エンティティの部分クラスなどで、自分で値を設定するロジックを少し追加できます。
Private _setBackToTrue As Boolean
Private Sub OnIsActiveChanging(ByVal value As Boolean)
If Not value AndAlso Me.IsActive Then
_setBackToTrue = True
End If
End Sub
Private Sub OnIsActiveChanged()
If _setBackToTrue Then
Me.IsActive = True
_setBackToTrue = False
End If
End Sub
于 2013-08-04T21:22:45.183 に答える