0

我正在尝试使用 linq 执行以下 SQL 语句:

SELECT TTT.SomeField
FROM Table1 as T, Table2 as TT, Table3 as TTT
WHERE (T.NumberID = 100 OR T.NumberID = 101)
  AND T.QuestionID = 200
  AND T.ResponseID = TT.ResponseID
  AND TT.AnswerID = TTT.AnswerID

本质上是根据与其他 2 个表的主/外键关系从第三个表中获取一个字段。预计每次都会有一个结果。

4

2 回答 2

2
var query = from t in db.Table1
            join tt in db.Table2 on t.ResponseID equals tt.ResponseID
            join ttt in db.Table3 on tt.AnswerID equals ttt.AnswerID
            where (t.NumberID == 100 || t.NumberID == 101) && t.QuestionID == 200
            select ttt.SomeField

如果您总是期望单个结果,则可以将其包装在 中().Single(),或者,如果可能找不到结果,则将其包装在 中().SingleOrDefault()

于 2013-06-28T14:37:03.057 回答
0

如果我理解你是正确的。你应该读一些关于Joins我猜的东西。 这里

于 2013-06-28T14:36:39.730 回答