- 3,716,003 Users
- 2,242,928 Discussions
- 7,845,734 Comments
Forum Stats
Discussions
Categories
- 17 Data
- 362.2K Big Data Appliance
- 7 Data Science
- 1.6K Databases
- 476 General Database Discussions
- 3.7K Java and JavaScript in the Database
- 22 Multilingual Engine
- 487 MySQL Community Space
- 5 NoSQL Database
- 7.6K Oracle Database Express Edition (XE)
- 2.8K ORDS, SODA & JSON in the Database
- 417 SQLcl
- 42 SQL Developer Data Modeler
- 184.9K SQL & PL/SQL
- 21K SQL Developer
- 1.9K Development
- 3 Developer Projects
- 32 Programming Languages
- 135.1K Development Tools
- 9 DevOps
- 3K QA/Testing
- 256 Java
- 6 Java Learning Subscription
- 10 Database Connectivity
- 67 Java Community Process
- 1 Java 25
- 9 Java APIs
- 141.1K Java Development Tools
- 6 Java EE (Java Enterprise Edition)
- 153K Java Essentials
- 135 Java 8 Questions
- 86.2K Java Programming
- 270 Java Lambda MOOC
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 10 Java SE
- 13.8K Java Security
- 3 Java User Groups
- 22 JavaScript - Nashorn
- 18 Programs
- 125 LiveLabs
- 30 Workshops
- 9 Software
- 3 Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 3 Deutsche Oracle Community
- 11 Español
- 1.9K Japanese
- 2 Portuguese
problem with new Oracle.ManagedDataAccess.EntityFramework query

this is my query:
var query = DB.NetaAppeals.Where(A => A.APL_DATETIME > from && A.APL_DATETIME < to && A.APL_STATUS_ID == 2 && A.APL_SERVICE_ID.Value != 319)
.Join(DB.NetaTasks.Where(H => H.TSK_ID > MinTaskID && H.TSK_DATETIME > from && H.TSK_DATETIME < to && H.TSK_STATUS == 2)
, A => A.APL_CORRELATION_ID, B => B.TSK_CORRELATION_ID, (A, => new AppealsTasksFlat() { Appeal = A, Task = B, Decision = null })
.Join<AppealsTasksFlat, TBL_DECISIONS, tempDecCompare, AppealsTasksFlat>(DB.NetaDecision, A => new tempDecCompare()
{ A = (A.Task.TSK_DECISION_ID == -888 ? A.Appeal.APL_SERVICE_ID.Value : A.Task.TSK_BASE_SERVICE_ID), B = A.Task.TSK_DECISION_ID },
B => new tempDecCompare() { A = B.DEC_SERVICE_ID, B = B.DEC_ID }, (A, => new AppealsTasksFlat() { Appeal = A.Appeal, Task = A.Task, Decision = B })
.GroupJoin(DB.Files, A => (A.Decision.SRV_SAVE_LEVEL == (int)SaveLevel.All || A.Decision.SRV_SAVE_LEVEL == (int)SaveLevel.Original ?
A.Appeal.APL_ORIGINAL_DATA_ID : 0), B => B.TND_ID, (A, => new { A, FileData = B });
var query2 = query.GroupJoin(DB.Files, A => (A.A.Decision.SRV_SAVE_LEVEL == (int)SaveLevel.All || A.A.Decision.SRV_SAVE_LEVEL == (int)SaveLevel.Sent ?
(A.A.Task.TSK_SENT_DATA_ID.Value != A.A.Appeal.APL_ORIGINAL_DATA_ID ? A.A.Task.TSK_SENT_DATA_ID.Value : 0) : 0),
B => B.TND_ID, (A, => new { A.A, FileDataOrig = A.FileData, FileDataSend = B });
var query3 = query2.GroupJoin(DB.Files, A => (A.A.Decision.SRV_SAVE_LEVEL == (int)SaveLevel.All || A.A.Decision.SRV_SAVE_LEVEL == (int)SaveLevel.Sent || A.A.Decision.SRV_SAVE_LEVEL == (int)SaveLevel.Original ?
(A.A.Decision.SIGNED == 1 ? A.A.Appeal.APL_SIGNED_DATA_ID : 0) : 0),
B => B.TND_ID, (A, => new { A.A, FileDataOrig = A.FileDataOrig, FileDataSend = A.FileDataSend, FileSigned = B });
var query4 = query3.GroupJoin(DB.XML, A => (A.A.Decision.SRV_SAVE_LEVEL != (int)SaveLevel.None ? A.A.Task.TSK_BASE_DATA_ID : 0) , B => B.TND_ID, (A, => new { A.A, FilesOriginal = A.FileDataOrig, FilesSend = A.FileDataSend, FileSigned = A.FileDataSend, XML = B})
.Where( A=> A.A.Decision.SRV_SAVE_LEVEL != (int)SaveLevel.None);
query , query2 , query3 have good sql translation.
query4 scrambles the SQL by duplicating one of the joins !!! (wrong results)
this is a serious bug.
version 12.2.1100
Best Answer
-
sorry the error is on me.
in query4 i missed the assignment FileSigned = A.FileDataSend
Answers
-
sorry the error is on me.
in query4 i missed the assignment FileSigned = A.FileDataSend