Here's a simplified query demonstrating the issue:
Code: Select all
var docs = (from d in DB.Documents
select new { d.Id, Role = d.DocumentName })
.Concat(from d in DB.Documents
select new { d.Id, Role = d.DocumentType });
var data = from d in DB.Documents
join doc in docs on d.Id equals doc.Id
select new {
d.Id,
ContactRole = doc.Role
};
Code: Select all
SELECT t1.ID AS "Id", t2."DocumentType" AS "Role" --should be t2."DocumentName" or t2."Role"
FROM DOCUMENT t1
INNER JOIN (
(
SELECT t3.ID AS "Id", t3.DOCUMENT_NAME AS "DocumentName"
FROM DOCUMENT t3
)
UNION ALL
(
SELECT t4.ID AS "Id", t4.DOCUMENT_TYPE AS "DocumentType"
FROM DOCUMENT t4
)
) t2 ON t1.ID = t2."Id"
Code: Select all
Message ORA-00904: "T2"."DocumentType": invalid identifier
StackTrace at xc.u.d()
at Devart.Data.Oracle.bi.c()
at Devart.Data.Oracle.q.a(Int32 A_0, a4 A_1)
at Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at Devart.Data.Linq.Provider.DataProvider.ExecuteQuery(CompiledQuery compiledQuery, Object[] parentArgs, Object[] userArgs, Object lastResult)