【发布时间】:2014-08-01 05:18:10
【问题描述】:
你能帮我把这个 SQL 查询翻译成 Linq 和 Lambda 表达式吗?
SELECT * FROM User
JOIN UserIdentifier ON User.id = UserIdentifier.user_fk
JOIN UserPassword ON User.id = UserPassword.user_fk
WHERE UserIdentifier.identifier_value = "key" AND UserPassword.password = "1234"
我已经写过了
var query = from u in context.Users
join ui in context.UserIdentifiers on u.id equals ui.user_fk into Joined
from j in Joined.DefaultIfEmpty()
join up in context.UserPasswords on u.id equals up.user_fk into Joined2
from ???
select new { id = u.id, identifier = j.identifier_value, password = Joined2.???}
在http://paragy.wordpress.com/2010/11/18/multiple-joins-with-linq-and-lambda/的帮助下
我不是一个快乐的 linq 用户。实际上我不喜欢 linq 因为这种请求。这很简单,但是当您尝试复杂的请求时,linq 是一场噩梦。动态请求更糟糕。我总是对 linq 语法有疑问,而网络并没有真正的帮助。我没有找到正确的文档来编写查询。
我想我不是第一个提出这个问题的人,但我发现的所有文档似乎都是错误的或对我没有帮助。这是一个简单的查询,我找不到正确的帮助。我仍在等待有人证明我的链接不仅仅是另一个 POC。
【问题讨论】: