少し背景を説明します。私は Web 開発者で、彼の最初の に取り組んでいWinformます。
を使用してEF5います。テーブルはリレーショナルですが、テーブルには主キーしかありません。が付属していますWinform。GridViewこれGridViewは によって移入されていBindingSourceます。のDatasourceはBindingSource、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からのデータのみが取り込まれていることです。ただし、要素を調べると、結合された結果が返されていることがわかります。クエリからのすべての結果が my に入力されるように、にバインドするにはどうすればよいですか。AutomatedBatchesAutomatedBatchResultsDatasourceBIndingsourceLinqGridview
さらに情報が必要な場合はお知らせください。
アップデート
何が間違っていたかがわかった。GridView のプロパティに DataPropertyName を設定していませんでした。DataPropertyName をデータベース フィールドと同じ名前に設定すると、機能しました。また、EF データ モデルで、AutomatedBatch (1) と AutomatedBatchResult (多数) の間の関連付けも作成しました。