Bindingsource filho ligado ao conjunto de entidades filho não atualiza

Eu tenho uma tabela, SampleData, que tem uma tabela filho, Medidas. No meu WinForm, frmMain, um único objeto SampleData está vinculado ao SampleDataBindingSource; o MeasurementsBindingSource tem SampleDataBindingSource como sua origem de dados e Measurements como seu DataMember. Um conjunto de caixas de texto está vinculado a SampleDataBindingSource; um datagridview está ligado a MeasurementsBindingSource.

Para frmMain, também tenho uma classe de apresentador, preMain, que contém uma propriedade, CurrentSample, do tipo SampleData. oSampleDataBindingSource.DataSource está ligado à propriedade CurrentSample de preMain.

Quando um número suficiente de propriedades em Measurements foi atribuído, ele calcula o FiringFactor e, se o FiringFactor não for 1, ele adiciona outro item Measurement ao entityset Measurement do CurrentSample:

Partial Class Measurement

    Private Sub UpdateFiringFactor()
        Dim necessaryDataIsAvailable As Boolean = (Me.CrucibleMass IsNot Nothing And _
                                                   Me.CrucibleSampleFiredMass IsNot Nothing And _
                                                   Me.CrucibleSampleMass IsNot Nothing)
        If necessaryDataIsAvailable Then
            Me.FiringFactor = CDbl((Me.CrucibleSampleFiredMass - Me.CrucibleMass) / (Me.CrucibleSampleMass - Me.CrucibleMass))
            If Me.FiringFactor <> 1 Then
                Me.SampleData.AddNewMeasurement()
            End If
        End If
    End Sub

    Private Sub OnCrucibleMassChanged()
        UpdateFiringFactor()
    End Sub


    Private Sub OnCrucibleSampleFiredMassChanged()
        UpdateFiringFactor()
    End Sub


    Private Sub OnCrucibleSampleMassChanged()
        UpdateFiringFactor()
    End Sub
End Class

Quando insiro valores para CrucibleMass, CrucibleSampleMass e CrucibleSampleFiredMass no datagridview, o método UpdateFiringFactor é executado corretamente e, eventualmente, recebo outro item de Medição adicionado ao entityset Measurements de CurrentSample. No entanto, o datagridview não mostra uma nova linha e o MeasurementsBindingSource tem apenas 1 registro (masCurrentSample.Measurements.Count = 2).

Por que a mudança naCurrentSample.Measurements não se propagar paraMeasurementsBindingSource? eu tenteiMeasurementsBindingSource.ResetBindings(False), MeasurementsDataGridView.Refresh, SampleDataBindingSource.ResetBindings(False), mas nada parece atualizarMeasurementsBindingSource ou seu datagridview.

questionAnswers(1)

yourAnswerToTheQuestion