是否可以将LINQ查询从Comprehension转换为“Lambda”语法,即table1.where()。select()。
from t1 in table1
from t2 in table2.Where(t2=>t2.Table1ID == t1.ID).DefaultIfEmpty()
select new {t1.C1, t2.C2}
上面的查询将被转换为SQL中的左连接,而不使用LINQ中的丑陋Join关键字。
答案 0 :(得分:1)
LinqPad提供了这个翻译:
Table1
.SelectMany (
t1 =>
Table2
.Where (t2 => (t2.Table1ID) == t1.ID)
.DefaultIfEmpty (),
(t1, t2) =>
new
{
C1 = t1.C1,
C2 = t2.C2
}
)