0

我在数据库“IsActive”中有一个字段,默认情况下为“Null”。现在我想更新一次该字段并将其设置为 true。现在,一旦该字段设置为 true,我需要禁止对其进行进一步修改。请提供任何帮助!

4

1 回答 1

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 服务创建的文件中找到这些存根(在 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 回答