サンプルエンティティを持ち、サンプルエンティティに子エンティティセットDrumsがあるLINQ to SQLデータコンテキストを使用しています。私は新しいドラムを追加処理するために、サンプル部分クラスでこのコードを書かれている:親バインディングソースの変更が子バインディングソースに表示されない
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を持ちSampleBindingSourceとDrumsBindingSourceを、持っています。 2番目のAddDrumオーバーロードを呼び出すと、SampleBindingSourceのDrumsメンバーと同様に、Sampleのインスタンス内のDrumsエンティティセットが1だけインクリメントされます。ただし、この変更はDrumsBindingSourceでは発生しません。
私は、SampleBindingSourceとDrumsBindingSourceの両方に対してResetBindings(falseとtrue)とEndEditを試しました。 DrumsBindingSourceで変更が発生するように見えるものはありません。
どうすればこの問題を解決できますか?