我在数据库“IsActive”中有一个字段,默认为“Null”。现在我想更新一次该字段并将其设置为true。现在,一旦该字段设置为true,我需要禁止对其进行进一步修改。请帮忙!
答案 0 :(得分:0)
对于RIA Services在实体中创建的每个属性,RIA Services还会创建多个部分方法存根,这些存根将在属性值发生变化时被调用,例如,对于您的IsActive属性,RIA Services生成:
Private Partial Sub OnIsActiveChanging(ByVal value As Boolean)
End Sub
Private Partial Sub OnIsActiveChanged()
End Sub
您可以在编译时在RIA Services创建的文件中找到这些存根(在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