我发现了example
作者提到了以下一行
join cat in en.Category on proc.catid equals cat.catid into catList
当我尝试使用"进入"关键字,颜色保持黑色而不是变成蓝色。对于Intelisense,甚至没有建议。
当我将鼠标光标拖到""时,它告诉我那里缺少")"
Dim result = (From foo In Entity.Foo
Join bar In Entity.Bar On foo.ID Equals bar.ID into foobarJoined
From foobar In foobarJoined.DefaultIfEmpty()
Select New With {
' [...]
})
在C#和VB下,Linq之间有区别吗?我正在使用最新版本。
答案 0 :(得分:0)
尝试这种方式:
Dim result = From foo In Entity.Foo
Group Join bar In Entity.Bar On
foo.ID Equals bar.ID
Into foobarJoined = Group
Select New With {
' [...]
})
VB中的查询语法与C#略有不同。有关 群组加入 的详细信息,请查看此msdn页面。
答案 1 :(得分:0)
我更喜欢这种 JOIN 语法(见下文)。对我来说,它更容易阅读
Dim result =
From foo In Entity.Foo
From bar in Entity.Bar.Where(Function(r) r.FooId = foo.Id).DefaultIfEmpty()
Select New With
{
' . . . . . .
})
这相当于左连接