2013-07-29 4 views
0

У меня есть поле в базе данных «IsActive», которое по умолчанию «Null». Теперь я хочу обновить поле один раз и установить его в true. Теперь, когда поле установлено в true, мне нужно запретить дальнейшие модификации. Любая помощь пожалуйста!Ограничение для обновления поля в модели данных сущности в Silvelight

ответ

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 создает при компиляции (в папке Generated_Code в папке проекта Silverlight, он не будет включен в сам проект).

Невозможно «отменить» изменение, но вы можете ввести немного логики, чтобы установить значение обратно самостоятельно, например. в частичном классе для вашей организации:

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