2012-04-05 57 views
4

我在我的數據庫中有兩個表,一個用於項目成員,另一個用於項目 驗證用戶後,我有他的ID。在我的項目成員表中,我有項目ID和用戶ID。 我能獲得項目成員的名單使用如何查詢LINQ中的列表

var pm = db.ProjectMembers.Where(c=> c.UserID=u.UserID) ; 

現在這個用戶我的問題是我怎麼能得到從上面的列表專案編號列表。然後,如何使用ProjectID列表從項目表中獲取項目列表。

回答

2

你的問題的第一部分:

var projectIDs = db.ProjectMembers.Where(c=> c.UserID=u.UserID).select(pm=>pm.ProjectID) ; 

第2部分:

如果您正在使用實體框架,你將會看到一個叫做(項目)物業爲您ProjectMembers的每個實體列表,你可以簡單地忽略我的答案的第一部分,並直接與這一個

var projectsList = db.ProjectMembers.Where(c=> c.UserID=u.UserID).select(pm=>pm.Project) ; 

該屬性可能有不同的名稱,試試看,並讓我知道發生了什麼。

說明:如果檢索到的項目爲null,那麼您的實體框架正在工作,並且正在加載(Google it)。 因此,爲了讓實體框架生成正確的SQL語法來檢索項目數據,請在您的查詢中添加Include(),如下所示:

var projectsList = db.ProjectMembers.Where(c=> c.UserID=u.UserID).Include("Projects").select(pm=>pm.Project) ;