Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由linq lambda表达式c#左与组联接?_C#_Linq - Fatal编程技术网

由linq lambda表达式c#左与组联接?

由linq lambda表达式c#左与组联接?,c#,linq,C#,Linq,我想使用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) .Se

我想使用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();
使用此查询,我不希望用户数据不在课程表中,因此我希望此数据也在课程表中的userid中或不在中。

您可以使用

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});

ref:

您还没有指定您的查询有什么问题我想返回coruse表中的userinfo数据用户id是否可用现在在课程中表用户id不存在然后userinfo此用户没有获得所以我希望此用户也可以在这里找到您的解决方案@user2960398我正在查看此链接,但我不知道如何编辑我的查询你请编辑..你可以在这里找到你的解决方案我已经尝试了这个wave,但那一次我没有在select many中获得coruse表的任何字段。嗨,我正在尝试这个查询,但得到错误,没有得到任何记录。