作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
假设我有一个左外连接:
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 }
如何使用扩展方法来表达相同的任务?例如
Foo.GroupJoin(Bar, f => f.Foo_Id, b => b.Foo_Id, (f,b) => ???)
.Select(???)
最佳答案
对于表 Bar
与 Foo.Foo _Id = Bar.Foo _Id
上的表 Foo
的(左外)连接lambda 表示法:
var qry = Foo.GroupJoin(
Bar,
foo => foo.Foo_Id,
bar => bar.Foo_Id,
(x,y) => new { Foo = x, Bars = y })
.SelectMany(
x => x.Bars.DefaultIfEmpty(),
(x,y) => new { Foo=x.Foo, Bar=y});
关于c# - 如何使用 linq 扩展方法执行左外连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/584820/
我知道除了知道什么是“最喜欢的编程卡通”之外,stackoverflow 会对我有所帮助:P 这是接受的答案: Bill Karwin 感谢大家的帮助(我想给你们加倍投票) 我的查询结果是这样的(这是
我查询了此查询,该查询将相关图像返回到评论 return $comments = \DB::table('comments')->select('comments.comment','com
如果没有任何地址(内部连接),我有以下 LINQ 返回零。我如何将其设为 Outer Join 然后仅 Take(1)? var results = query.Join(
我是一名优秀的程序员,十分优秀!