我正在寻找一种将此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
答案 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 };