。
我想使用 linq lambda 表达式编写左连接。我尝试使用连接进行查询,但现在我想使用左连接进行创建,以便任何人都可以帮助我怎么做。
这是我的查询:
var UserList = db.UserInfo
.Join(db.Course, u => u.id, c => c.userid, (u, c) =>
new { u, c }).GroupBy(r => r.u.id)
.Select(g => g.OrderByDescending(r => r.c.datetime)
.FirstOrDefault()).OrderByDescending(a => a.u.datetime).ToList();
使用此查询,我不希望用户数据不在课程表中,因此我希望此数据也在课程表中的用户ID中
您可以使用
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});
参考: 如何使用 linq 扩展方法执行左外部联接