Я использую текст данных LINQ to SQL, который имеет сущность Sample, а сущность Sample имеет дочерний набор сущностей, Drums. Я написал этот код в частичном классе Sample для обработки добавления новых барабанов:
Partial Class Sample
Public Sub New(ByVal limsNumber As String, ByVal lotNumber As String, ByVal createDate As Date)
Me.New()
Me.LIMSNum = limsNumber
Me.LotNum = lotNumber
Me.DateReceived = createDate
End Sub
Public Sub AddDrum()
Me.Drums.Add(New Drum With {.DrumNum = Me.Drums.Count + 1})
End Sub
Public Sub AddDrum(ByVal palletNum As Integer, ByVal grossWeight As Integer, ByVal tareWeight As Integer)
AddDrum(New Drum With {.GrossWeight = grossWeight, .TareWeight = tareWeight, .PalletNum = palletNum})
End Sub
Public Sub AddDrum(ByVal thisDrum As Drum)
If Me.Drums Is Nothing OrElse Me.Drums.Count = 0 Then
thisDrum.DrumNum = 1
Else
thisDrum.DrumNum = Me.Drums.Max(Function(d) CInt(d.DrumNum)) + 1
End If
thisDrum.DateEntered = Now
Me.Drums.Add(thisDrum)
End Sub
В WinForm у меня есть SampleBindingSource и DrumsBindingSource, который имеет SampleBindingSource в качестве источника данных и «Drums» в качестве DataMember. Если я вызываю вторую перегрузку AddDrum, набор сущностей Drums в экземпляре Sample увеличивается на единицу, как и член Drums SampleBindingSource. Однако это изменение не происходит в DrumsBindingSource.
Я пробовал ResetBindings (false и true) и EndEdit для SampleBindingSource и DrumsBindingSource. Кажется, ничто не вызывает изменений в DrumsBindingSource.
Как я могу решить эту проблему?