C# Outer Apply in LINQ

前端 未结 3 1580
时光取名叫无心
时光取名叫无心 2021-02-04 08:47

How can I achieve Outer Apply in LINQ? I\'m having a bit of a problem.

Here\'s the SQL Query I\'m using.

SELECT u.masterID
      ,u.user
      ,h.created         


        
3条回答
  •  余生分开走
    2021-02-04 09:20

    Outer Apply produces results of left outer join,
    the query should be:

    var q =
    from u in db.Users
    join h in db.UserHistory on u.masterID equals h.masterID into ps
    from p in ps.DefaultIfEmpty()
    select new { 
        masterID = u.masterID
        ,user = u.user
        ,created = ps.OrderByDescending(x=>x.created).FirstOrDefault()==null?null:ps.OrderByDescending(x=>x.created).First().created
    };
    

提交回复
热议问题