When running the LINQ Query below against Oracle 11g instance, it will throw an OUTER APPLY not supported error.
var shipmentDetails = (
from r in _db.XXF_SHIPMENT_DETAILs
where r.SHIP_TO == tradingPartnerId && r.PICKUP_DATE >= pickUpDate
select r)
.GroupBy(x => x.HEADERID)
.Select(x => x.FirstOrDefault());
"OUTER APPLY is not supported by Oracle Database 11g and lower. Oracle 12c or higher is required to run this LINQ statement correctly. If you need to run this statement with Oracle Database 11g or lower, rewrite it so that it can be converted to SQL, supported by the version of Oracle you use."
The solution is to use simple statements to achieve the results you are after. Referencing the query above, we...
First, get all the shipments. Use the
.ToList()to force query executionNow
.GroupBy()and.Select()to filter - but this will be done in memory and not at the server level therefore avoiding the unsupported OUTER APPLY