我是一個很長時間的開發人員,但對LINQ來說還是一個新手。在處理一組對象時,我可以,但是當我需要從幾個來源獲取信息時,事情變得更加困難,我可以使用一些指導來獲得我需要的信息。LINQ Noob,我該如何編寫這個通用查詢?
我在我的數據庫中有三個表格,兩個相關的表格和一個持有PK/FK將它們連接在一起的表格。因此,像:
用戶
- 用戶名
- 用戶名
調查
- SurveyID
- SurveyName
UserSurveys
- 用戶名
- SurveyID
我使用EF等所有這些數據已經被拉到對象。
所以...我想要做的是返回與給定用戶關聯的所有調查列表。因此,像(僞代碼):
// currentUserID = the UserID I need to get matching Surveys for
var surveys = from Survey where (s => s.SurveyID == UserSurvey.SurveyID && UserSurvey.UserID == currentUserID);
我想我需要做一個子查詢,並使用了一個contains()或類似的東西,但我一直絆倒自己。幫幫我?
什麼是UserSurvey?它是一個多對多的表格嗎? –
是的。上面的用戶和調查表簡化了,但UserSurveys真的非常簡單。它只是表示哪些調查與哪些用戶相關聯。 –
如果UserSurveys只是這兩個字段,那麼在您的edmx文件中,您是否只有兩個EntityType(用戶和調查)?如果是的話,我會同意亨克。 –