2011-05-25 85 views
0

我有一個用戶任務連接表 - 帶有ria服務,我將根據userId獲取usertaskjoin。從對象中獲取所有數據的Lambda表達式

UserTaskQueueJoin = new ObservableCollection<UserTaskQueueJoin>(_context.UserTaskQueueJoins); 

一旦我得到這個UserTaskJoin對象我想然後從查詢即時運行中獲取任務。

_query = _query.Where(x => UserTaskQueueJoin.Any(t => t.UserTaskQueueJoinID == x.AssignedToTaskQueueID)); 

UserTaskQueueJoin - UserTaskQueueJoinID,用戶名,TaskQueueID

任務隊列 - TaskQueueID,InstitutionId,TaskQueueName

任務 - 的TaskID,TaskQueueID,TASKNAME

我最終我做的是運行一個查詢任務表只返回任務隊列中的項目。我上面的第一個代碼片段獲取用戶所在的任務隊列..

上面的查詢調用顯然不起作用。我曾嘗試使用.SelectMany,但無法使其工作。

+1

我不是你的對象結構清晰。你的用戶對象有一個TaskID,你的任務對象有一個TaskID?我認爲你的任務對象應該有一個UserID來建立一對多的關係。 (一個用戶有很多任務)? – Jay 2011-05-25 21:44:37

+0

所以基本上你有一個'Users'對象和一個'Tasks'對象,你想根據任務的ID將它們連接在一起,對吧? – BeemerGuy 2011-05-25 21:46:27

+0

你知道,用戶和任務類的大綱可能有幫助。 – 2011-05-25 21:53:46

回答

0

如果模型包含所有適當的FK型關係,它可能是簡單的:

_query = _query.SelectMany(x => x.UserTaskQueueJoins.TaskQueues.Tasks); 

甚至

_query = _query.SelectMany(x => x.TaskQueues.Tasks);