多对多关系- Sql到Linq

本文关键字:Linq Sql 关系 | 更新日期: 2023-09-27 18:13:49

也许这是一个非常简单的解决方案,但我不明白。如何使用Linq编写以下SQL ?

SELECT 
[Source].[TaskId] AS [TaskId]
FROM   [dbo].[UserTask] AS [Source]
JOIN [dbo].[UserTask] AS [Target] ON [Source].[TaskId] = [Target].[TaskId] 
WHERE ([Source].[UserId] = 2) AND ([Target].[UserId] = 1) ORDER BY [Source].[TaskId] ASC

假设我有一个简单的表设计

UserTask    
---------
userId
taskId

谢谢!

多对多关系- Sql到Linq

试试这个:

var res = from source in UserTask
          join target in UserTask on source.TaskId equals target.TaskId
         where source.UserId == 2
            && target.UserId == 1
       orderby source.TaskId
        select source.TaskId;