В моей EF4 EntityModel У меня есть сущность с именем USERS. У ПОЛЬЗОВАТЕЛЕЙ есть общие поля UserName и Password string. Если я сделаю что-то вроде этого:Назначить пустую строку для свойства с текущей стоимостью ничего
Dim u as new USERS
U.UserName = String.Empty
Тогда U.UserName все еще ничего. Но если я что-то вроде этого:
Dim u as new USERS
u.UserName = “A”
u.UserName = String.Empty
затем U.UserName принимает String.Empty как значение без проблем.
Причина заключается в том, что путь EF4 генерирует UserName свойство
Public Property UserName() As Global.System.String
Get
Return _UserName
End Get
Set
If (_UserName <> Value) Then ‘Here is the key
OnUserNameChanging(value)
ReportPropertyChanging("UserName")
_UserName = StructuralObject.SetValidValue(value, false)
ReportPropertyChanged("UserName")
OnUserNameChanged()
End If
End Set
End Property
Мой вопрос:
Как я могу справиться с этим?
Есть ли что-то, что я могу сделать, чтобы избежать такого поведения? Я не хочу делать два присваивания каждый раз, когда хочу установить string.empty для свойства с ничтожным значением, и я не хочу вспоминать, что я должен делать это таким образом каждый раз, потому что я уверен, что Я забуду это, а затем я введу ошибки в код. Я просто хочу присвоить значение empty.string свойству, а свойство принимает значение «».
Как я пришел из C#, и я новичок в vb.net, я очень надеюсь, что у меня что-то не хватает.
Спасибо SLaks ... Я пытался отформатировать этот код в течение 10 минут ... – Jonathan
В чем смысл? Вам нужно поведение OnPropertyChanged (например, в приложении WPF со связыванием)? В качестве альтернатив есть 3 шаблона кода gen, и это будет определять, какой из них для вас. – RichardW1001
@ RichardW1001: мне не нужен интерфейс OnPropertyChanged, я просто выбираю шаблон defalt, потому что я начинаю с EF4. – Jonathan