We have a .Net Core 3.1 WEB API that uses Entity Framework 3.1.3
When we build a LINQ query like the following:
Code: Select all
            
DateTime checkDate = new DateTime(2015, 5, 1); 
var result = from model in carsContext.Models 
                    join v3 in carsContext.ModelVersions.Where( 
                        v => checkDate >= v.STARTDATE && (checkDate < v.ENDDATE || v.ENDDATE == null)) 
                        on model.ID equals v3.MODEL_ID into v2 
                    from v in (v2.DefaultIfEmpty()) 
                    select new ModelVersionDto() 
                    { 
                         modelName = model.DESCRIPTION, 
                         ModelVersion = v.DESCRIPTION 
                    }; 
return result; 
Code: Select all
SELECT "m".DESCRIPTION "modelName", "t".DESCRIPTION "ModelVersion" 
FROM MODELS "m" 
LEFT JOIN ( 
    SELECT "m0".ID, "m0".DESCRIPTION, "m0".ENDDATE, "m0".MODEL_ID, "m0".STARTDATE 
    FROM MODELVERSIONS "m0" 
    WHERE (:p__checkDate_0 >= "m0".STARTDATE) AND ((:p__checkDate_1 < "m0".ENDDATE) OR "m0".ENDDATE IS NULL) 
) "t" ON "m".ID = "t".MODEL_ID However, when upgrading package Devart.Data.Oracle.EFCore to 9.11.951 or 9.11.980, running the same query will result in the following Oracle query:
Code: Select all
SELECT "m".DESCRIPTION "modelName", "t".DESCRIPTION "ModelVersion" 
FROM MODELS "m" 
LEFT JOIN ( 
    SELECT "m0".ID, "m0".DESCRIPTION, "m0".ENDDATE, "m0".MODEL_ID, "m0".STARTDATE 
    FROM MODELVERSIONS "m0" 
    WHERE ("m0".STARTDATE >= :p__checkDate_0) AND (("m0".ENDDATE < :p__checkDate_1) OR "m0".ENDDATE IS NULL) 
) "t" ON "m".ID = "t".MODEL_ID