一点背景知识,我是一名 Web 开发人员,正在开发他的第一个Winform
.
我正在使用EF5
. 这些表是关系的,但是这些表只有一个主键。我有Winform
一个GridView
附在它上面的。这GridView
是由一个BindingSource
. 的Datasource
forBindingSource
正在由 Linq 查询填充。
Public Class Form1
Private batchEnt As BatchMananger.PrintManagerEntities
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
batchEnt = New BatchMananger.PrintManagerEntities
batchBindingSource.DataSource = (From b In batchEnt.AutomatedBatches Join bd In batchEnt.AutomatedBatchResults On b.ID Equals bd.AutomatedBatchID Where b.BatchName <> "" Select b.ID, b.BatchName, b.Description, b.ScheduleDesc, b.BatchResultEmail, b.BatchSourceEmail, bd.ExecutionDateTime, bd.TotalSuccesful, bd.TotalItems, bd.TotalFail).ToList
Catch ex As Exception
Throw
End Try
End Sub
End Class
我的问题是Gridview
只填充了AutomatedBatches
表中的数据,而不是连接表中的数据AutomatedBatchResults
。但是,在检查Datasource
元素时,我看到连接的结果又回来了。我将如何绑定到 ,BIndingsource
以便Linq
查询的所有结果都填充到我的Gridview
.
如果您需要更多信息,请告诉我。
更新
发现出了什么问题。我没有在 GridView 的属性上设置 DataPropertyName。将 DataPropertyName 设置为它工作的数据库字段的相同名称后。我还在 EF 数据模型中创建了 AutomatedBatch (1) 与 AutomatedBatchResult (many) 之间的关联。