2012-02-24 19 views
0

我正在使用LINQ to SQL datacontext,它具有Sample实体,Sample实体具有子实体集Drums。我在样品局部类来处理增加新的鼓这样写代码:父bindingsource中的更改未显示在子绑定资源中

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作为其数据源和“鼓”作为其数据成员。如果我调用第二个AddDrum重载,则Sample实例中的Drums实体集会像SampleBindingSource的Drums成员一样递增1。但是,DrumsBindingSource中不会发生此更改。

我已经尝试ResetBindings(false和true)和EndEdit为SampleBindingSource和DrumsBindingSource。没有任何东西似乎导致DrumsBindingSource中发生更改。

我该如何解决这个问题?

回答