Open tomasfil opened 5 months ago
The issues is definetly the select. Same reproduces directly on table only with select without includes:
Query.Select(s =>
new ValueSet<decimal, IEnumerable<string>>
{
Value1 = s.Id,
Value2 = s.PairStatuses!.Where(ps =>
(s.CreatedDate > ps.StartDate && s.CreatedDate < ps.EndDate) || (s.UpdatedDate > ps.StartDate && s.UpdatedDate < ps.EndDate))
.Select(s => s.User!.FullName)
})
.Where(x=> transactionIds.Contains(x.Id))
@tomasfil Does this problem occur with DB 19c or higher? Oracle DB 11.2 is no longer supported. ODP.NET no longer tests nor fixes bugs against DB 11.2 except under rare circumstances.
If so, can you provide a complete EF Core test case? We'll try to reproduce the issue in in house and fix it if we identify an ODP.NET code problem.
Of note, MS ends EF Core 7 support next week. Oracle plans to desupport EF Core 7 at the same time.
I will try and provide simple test case soon.
Providing a test case may be moot if this bug doesn't occur with Oracle DB 19c or higher. The ODP.NET team doesn't plan to implement bug fixes for out of support DB versions.
@gvenzl You can close this issue as this appears to be problem specific to an out of support DB version.
Hello, I have come across bug with EF Core Linq to entities. This query:
Results into this sql
And that fails on:
System info: Oracle 11.2g .NET 7 Oracle.EntityFrameworkCore 7.21.13
This is not the first time that this parenthesis bug arrived. I have simulated the same complex query with MSSQL and Postgre and both work. You should add some kind of unit test to test the generated queries especially for the parenthesis.