我正在寻找一种方法将这个T-SQL转换为LINQ。有任何想法吗?

时间:2012-05-30 19:43:43

标签: c# sql linq

我正在寻找一种将此T-SQL转换为LINQ的方法。

基本上,我有一张问题表。当一个人登录时,我想动态显示每个问题,然后通过questionId绑定在一起的答案表提供答案(如果他们之前已经回答了问题)。

有什么想法吗?

SELECT q.*, a.answer
FROM Questions q LEFT OUTER JOIN Answers a
ON q.questionId = a.questionId and a.personid = @personId
WHERE a.personid = @personId OR a.personid IS NULL

1 个答案:

答案 0 :(得分:0)

谢谢marc_s& ChrisF对您的评论,因为这些是我在过去一小时内获得的唯一有价值的信息。这是我如何解决我的问题。我不知道这是否是实现目标的最佳方式。

FROM q IN db.Questions 
JOIN a IN db.Answers.Where(z=>z.personId == personId) 
ON q.questionId equals a.questionId INTO qas 
FROM suba IN qas.DefaultIfEmpty() 
WHERE suba.personId == personId || suba.personId == null 
SELECT NEW { q, a = suba };