2011-05-05 45 views
0

我試圖使用EF對象加載網格。如何在EF中使用多個連接加載數據網格,使用VB

select * from 
[session] inner join [sessionrep] on [session].ID = [sessionrep].repid 
inner join [group] on [group].id = [session].groupid 
where [sessionrep].repid = x 

我創建了一個局部類,並增加我想在那裏在網格中顯示的屬性:

Partial Public Class SessionRep 
Public ReadOnly Property Name() As String 
Get Return Session.Name 
End Get 
End Property 
.... 
End Class 

我試着這樣做,但它只是加載表的活動領域,其他領域是空白的,儘管行數顯示正確。

grdSessions.DataSource = db.SessionReps.Include("Session").Include("Session.Group").Include("Session.Group.Program").Where(Function(r) r.RepID = repID).ToList() 

我在做什麼錯?謝謝。

+0

你問的是如何重現LINQ to Entities的SQL查詢嗎?如果你能顯示你的'Session'和'SessionRep'類以及它們是如何相關的,那麼回答會更容易。什麼是「活動領域」? – Slauma 2011-05-05 15:30:49

+0

是的,我只是學習LINQ語法。無法使用Linq編寫該查詢。我不想使用部分類,我認爲Linq to Entities是要走的路。 – 2011-05-05 16:14:01

回答

0

不需要部分類。

Dim query = 
From s In db.Sessions 
From d In db.SessionReps 
Where s.ID = d.RepID And d.RepID = repID 
Select s 

grdSessions.DataSource = query.ToList() 
grdSessions.DataBind() 
相關問題