2011-08-08 32 views
0

我有這3個表查詢不返回任何結果。有沒有人對我做錯了什麼有什麼建議? _id是一個全局變量。實體框架Linq 3個表的查詢

'If there is a guest list then display each person in it 
    Dim guests = (From g In myEntities.GuestLists 
        From p In myEntities.Pictures 
        From u In myEntities.UserProfiles 
        Where g.EventID = _id 
        Where p.UserID = g.GuestID 
        Where u.UserID = g.GuestID 
        Select New With {p.ImUrl, u.FirstName, u.LastName, u.UserID}).SingleOrDefault() 
    Repeater1.DataSource = guests 
    Repeater1.DataBind() 

此語法適用於單個表格或兩個表格查詢,所以我假設3個表格是相同的。

回答

0

我覺得你得JOIN這個表。

像這樣(未經測試!)

From g In myEntities.GuestLists 
Join p In myEntities.Pictures On g.GuestID Equals p.UserID 
Join u In myEntities.UserProfiles On g.GuestID Equals u.UserID 
Where g.EventID == _id 
Select New With {p.ImUrl, u.FirstName, u.LastName, u.UserID}