obxsolo Ответов: 0

Как обновить объект отношения один к одному.


Здравствуйте, у меня есть простая модель Конфигурации и MyValue
public Class Config
   Public Property ConfigId as Integer
   Public Property Name As String
   Public Property MyValue as MyValue
   Public Property ...
end class

Public Class MyValue
   Public Property MyValueId as Integer
   Public Property Value as Decimal
   Public Property Info As String
   Public Property ...
end class


Я хочу обновить свою конфигурацию в базе данных после изменения:
- Имя текста в текстовом поле (привязка ViewModel)
- Объект в поле со списком значения MyValue (привязки модели представления)
- другие значения с привязкой

Public Function SaveExececute() As String
   ObjConfig.Name = StrName     ' a simple string
   ObjConfig.MyValue = ObjValue ' SelectedItem from combo 
   ' other values here

Using ctx As New DbContext
     Try
        ctx.Entry(ObjConfig).State = Entity.EntityState.Modified
        ctx.SaveChanges()
        Return "UPDATED"
     Catch ex As Exception
         Return ex.Message
     End Try
End Using
End Sub


Что я уже пробовал:

все значения, как были изменены в базе данных, кроме моего нового MyValue ID 2 (MyValue_MyValueId = 1), Метод Disconnect не распознает новый объект MyValue, как прикрепить и обновить новый объект MyValue ?

я пытаюсь добавить этот код, но не работает
Using ctx As New LgmModel
           Try
               ' THIS NEW LINE
               ctx.Entry(ObjConfig.MyValue).State = Entity.EntityState.Modified
               ctx.Entry(ObjConfig).State = Entity.EntityState.Modified
               ctx.SaveChanges()
               Return "UPDATED"
           Catch ex As Exception
               Return ex.Message
           End Try
       End Using

0 Ответов