gpt4 book ai didi

linq - 如何使用带有lambda表达式的join重写此LINQ?

转载 作者:行者123 更新时间:2023-12-04 09:15:36 25 4
gpt4 key购买 nike

似乎大多数LINQ都是用lambda表达式编写的。我该如何使用Lambda重写此linq,有点混淆样式(尤其是join)?

var responses =
from c in questionRepository.GetReponses()
join o in questionRepository.GetQuestions() on
c.QuestionID equals o.QuestionID
where c.UserID == 9999
orderby o.DisplayOrder
select new { o.QuestionText, c.AnswerValue };

最佳答案

我更喜欢Joins的“LINQ语法”,因为我认为它看起来更干净。

无论如何,这是将LINQ-join转换为“Lambda Expression” -join的方法。

翻译为:

from a in AA
join b in BB on
a.Y equals b.Y
select new {a, b}

是:
AA.Join(                 // L
BB, // R
a => a.Y, b => b.Y, // L -> join value, R -> join value
(a, b) => new {a, b}) // L+R result

其他LINQ关键字的转换要简单得多(例如 OrderBy(u => u.DisplayOrder),而只是与 .“链接在一起”。-试试吧!

关于linq - 如何使用带有lambda表达式的join重写此LINQ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13692015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com