假设我有一个左外连接:
from f in Foo
join b in Bar on f.Foo_Id equals b.Foo_Id into g
from result in g.DefaultIfEmpty()
select new { Foo = f, Bar = result }
Run Code Online (Sandbox Code Playgroud)
如何使用扩展方法表达相同的任务?例如
Foo.GroupJoin(Bar, f => f.Foo_Id, b => b.Foo_Id, (f,b) => ???)
.Select(???)
Run Code Online (Sandbox Code Playgroud) 我试图在p.Person表的这种查询上实现外连接.我该怎么做?
此示例来自http://ashishware.com/DSLinqExample.shtml
var onlyinfo = p.Person
.Where(n => n.FirstName.Contains('a'))
.Join(p.PersonInfo,
n => n.PersonId,
m => m.PersonId,
(n, m) => m)
.ToArray<Persons.PersonInfoRow>();
Run Code Online (Sandbox Code Playgroud)