Winforms Windows窗体不更改基础实体数据

Winforms Windows窗体不更改基础实体数据,winforms,forms,entity-framework,datagridview,updating,Winforms,Forms,Entity Framework,Datagridview,Updating,谁能看到我看不到的简单错误 我正在打开一个表单,允许将工号分配给没有工号的发票 这是应用程序主窗体中处理此问题的代码: Dim unknownJobs = From pur In context.Purchases Where pur.SentToMyob = False AndAlso pur.Job.JobNumber = String.Empty Select pur

谁能看到我看不到的简单错误

我正在打开一个表单,允许将工号分配给没有工号的发票

这是应用程序主窗体中处理此问题的代码:

Dim unknownJobs = From pur In context.Purchases
                  Where pur.SentToMyob = False AndAlso
                        pur.Job.JobNumber = String.Empty
                  Select pur

If unknownJobs.Any Then
    frmJobs2.JobsBindingSource.DataSource = (From j In context.Jobs1
                                            Order By j.JobNumber
                                            Select j).ToList
    frmJobs2.PurchasesBindingSource.DataSource = unknownJobs
    Progress.Hide()
    If frmJobs2.ShowDialog = Windows.Forms.DialogResult.OK Then
        context.SaveChanges()
    End If
End If
这是打开并显示相关列详细信息的表单

隐藏的代码很简单,包括:

Public Class FormJobs2
    ''' <summary>
    ''' OK clicked
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub OKButton_Click(sender As System.Object, e As System.EventArgs) Handles OKButton.Click
        Me.DialogResult = Windows.Forms.DialogResult.OK
        Me.Close()
    End Sub

    ''' <summary>
    ''' Cancel clicked
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub SkipButton_Click(sender As System.Object, e As System.EventArgs) Handles SkipButton.Click
        Me.DialogResult = Windows.Forms.DialogResult.Cancel
        Me.Close()
    End Sub
End Class
公共类FormJobs2
''' 
''好的,点击
''' 
''' 
''' 
''' 
Private Sub OKButton_Click(发送者作为System.Object,e作为System.EventArgs)处理OKButton。单击
Me.DialogResult=Windows.Forms.DialogResult.OK
我
端接头
''' 
''取消单击
''' 
''' 
''' 
''' 
私有子SkipButton_Click(发送方作为System.Object,e作为System.EventArgs)处理SkipButton。单击
Me.DialogResult=Windows.Forms.DialogResult.Cancel
我
端接头
末级
当它运行时,您可以选择作业编号,但它们不会显示在DataGridView上,也不会更新基础上下文


请问,这个愚蠢的错误在哪里?

似乎您正试图为
frmJobs2.PurchasesBindingSource.DataSource
分配一个IQueryable

该行应为:

frmJobs2.PurchasesBindingSource.DataSource = unknownJobs.ToList