如何使用lambda表达式连接重写此LINQ?

前端之家收集整理的这篇文章主要介绍了如何使用lambda表达式连接重写此LINQ?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
看起来大多数LINQ都是用lambda表达式编写的.我如何使用lambda重写这个 linq,有点混淆风格(尤其是连接)?
  1. var responses =
  2. from c in questionRepository.GetReponses()
  3. join o in questionRepository.GetQuestions() on
  4. c.QuestionID equals o.QuestionID
  5. where c.UserID == 9999
  6. orderby o.DisplayOrder
  7. select new { o.QuestionText,c.AnswerValue };

解决方法

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

无论如何,这里是如何将LINQ-join转换为“Lambda Expression”-join.

翻译为:

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

方法是:

  1. AA.Join( // L
  2. BB,// R
  3. a => a.Y,b => b.Y,// L -> join value,R -> join value
  4. (a,b) => new {a,b}) // L+R result

其他LINQ关键字转换起来要简单得多(例如OrderBy(u => u.DisplayOrder),只是与…链接在一起) – 给它一个去吧!

猜你在找的MsSQL相关文章