如何将以下查询表达式转换为相应的C#代码?谢谢.
var list1 = (from ol in orderedList
from er in ol.Er
from rd in er.Rd
where rd.ftr != ""
select ol).ToList<CRInfo>();
Run Code Online (Sandbox Code Playgroud)
它会翻译成这样的东西:
var list1 = orderedList.SelectMany(ol => ol.Er, (ol, er) => new { ol, er })
.SelectMany(z => z.er.Rd, (z, rd) => new { z, rd })
.Where(z2 => z2.rd.frt != "")
.Select(z2 => z2.z.ol)
.ToList<CRInfo>();
Run Code Online (Sandbox Code Playgroud)
"z"和"z2"位是透明标识符,由C#编译器用于通过查询传播多个范围变量.
你可能想下载LINQPad,我相信你可以很容易地翻译这样的查询表达式.