I wrote following query which produces an OUTER APPLY
when translated to SQL
Users.Where(u => !u.IsDeleted).Select(u => new
{
User = u,
Requests = OfficeRequests.Where(x => x.BuildingId == 1 && x.RequestedDate >= DateTime.UtcNow.Date).ToList()
})
But when the condition User.UserId == OfficeRequest.UserId
is included the resulting sql turns into LEFT JOIN
instead of OUTER APPLY
Users.Where(u => !u.IsDeleted).Select(u => new
{
User = u,
Requests = OfficeRequests.Where(x => x.BuildingId == 1 && x.UserId == u.UserId && x.RequestedDate >= DateTime.UtcNow.Date).ToList()
})
Is there a way to force outer apply in translated sql query?