在LINQ中等效的SQL Server查询

时间:2016-08-09 09:41:36

标签: c# sql-server linq

我试图在LINQ中转换以下查询,尝试了不同的链接但到目前为止没有运气。请帮助以下:

SELECT T.TASKID, 
    T.TITLE, 
    T.DESCRIPTION, 
    T.DEADLINE, 
    T.CREATEDON,
   (SELECT EMAIL FROM ASPNETUSERS WHERE ID = T.CREATEDBYUSERID) AS INITIATEDBY
FROM TBL_TASKMEMBERS AS M   
INNER JOIN TBL_TASKS AS T ON M.TASKID = T.TASKID
INNER JOIN ASPNETUSERS AS U ON M.USERID = U.ID
WHERE m.UserId = '95d2f49c-0ae6-4571-9d7b-1c498ad0bfac'

提前致谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

var result =
from member in TBL_TASKMEMBERS 
join task in TBL_TASKS on member.TASKID equals task.TASKID
join user in ASPNETUSERS on user.ID equals member.USERID
join usermail in ASPNETUSERS on usermail.ID equals task.CREATEDBYUSERID
where member.UserId = '95d2f49c-0ae6-4571-9d7b-1c498ad0bfac'
select new { TASKID = task.TASKID, TITLE = task.TITLE, DESCRIPTION = taks.DESCRIPTION, DEADLINE = task.DEADLINE, CREATEDON = task.CREATEDON, INITIATEDBY = usermail.EMAIL };