C # Outer Apply in LINQ

How can I achieve Outer Apply in LINQ? I have a problem.

Here's the SQL query I'm using.

SELECT u.masterID ,u.user ,h.created FROM dbo.Users u OUTER APPLY (SELECT TOP 1 * FROM UserHistory h where h.masterID = u.masterID ORDER BY created DESC) h 
+6
c # outer-join linq
source share
2 answers
 from u in Users join UserHistory on u.masterID equals h.masterID into h select new {u.masterID, u.user, h.created.OrderByDescending().First()} 
+3
source share
 from u in Users join UserHistory on u.masterID equals h.masterID into h select new { u.masterID, u.user, Created = h.Select(x => x.created).OrderByDescending(c => c).FirstOrDefault() } 

Or, with an association:

 from u in Users let created = u.UserHistories.Select(x => x.created).OrderByDescending(c => c).FirstOrDefault() select new { u.masterID, u.user, Created = created } 
+12
source share

All Articles