OUTER APPLY is not supported by Oracle

OUTER APPLY is not supported by Oracle

Postby vajarov » Tue 14 Sep 2010 16:37

Hi all -
I have a very simple case: two entities with 1-to-many relationship (e.g. one company-to-many-employees).
Case1 (works ok): I use Linq2Entities over the compiled DLL containing the model and using the ".Include" syntax I eagerly load the related entities (Employee) just fine.
Case2 (does not work): I expose the model via WCF data service. When I try to eagerly load the related entity on the client (via the ".Expand" method) I get the "OUTER APPLY is not supported by Oracle" exception.

Note - this problem does not occur when the relationship b/w entities is 1-to-1.

Can anyone please shed some light on this for me? Is there a known work-around?

G.
vajarov
 
Posts: 13
Joined: Mon 19 Jul 2010 18:03

Postby StanislavK » Fri 17 Sep 2010 11:20

Could you please describe the situation in more details? Please specify the following:
- whether you are using a .edmx or .edml model;
- how exactly lazy loading is implemented for your WCF service;
- what are stack trace and details of the exception you are getting.

If possible, please send us a test project so that we are able to investigate the issue in details.
StanislavK
Devart Team
 
Posts: 1710
Joined: Thu 03 Dec 2009 10:48

Postby jacksparrow » Thu 30 Sep 2010 17:45

I am running into the same error in our project. Please Advise.

Message:
OUTER APPLY is not supported by Oracle

Source:
Devart.Data.Oracle.Entity

StackTrace:
at Devart.Data.Oracle.Entity.k.a(DbApplyExpression A_0)
at System.Data.Common.CommandTrees.DbApplyExpression.Accept[TResultType](DbExpressionVisitor`1 visitor)
at Devart.Common.Entity.f.a(DbExpression A_0, String A_1, TypeUsage A_2, o& A_3)
at Devart.Common.Entity.f.a(DbProjectExpression A_0)
at System.Data.Common.CommandTrees.DbProjectExpression.Accept[TResultType](DbExpressionVisitor`1 visitor)
at Devart.Common.Entity.f.a(DbExpression A_0, String A_1, TypeUsage A_2, o& A_3)
at Devart.Common.Entity.f.a(DbSortExpression A_0)
at System.Data.Common.CommandTrees.DbSortExpression.Accept[TResultType](DbExpressionVisitor`1 visitor)
at Devart.Common.Entity.f.a(DbExpression A_0, String A_1, TypeUsage A_2, o& A_3)
at Devart.Common.Entity.f.a(DbProjectExpression A_0)
at System.Data.Common.CommandTrees.DbProjectExpression.Accept[TResultType](DbExpressionVisitor`1 visitor)
at Devart.Common.Entity.f.a(DbExpression A_0, Boolean A_1, o& A_2)
at Devart.Common.Entity.f.f(DbExpression A_0)
at Devart.Common.Entity.f.a(DbQueryCommandTree A_0, List`1& A_1)
at Devart.Data.Oracle.Entity.k.a(DbCommandTree A_0, DbConnection A_1, DbProviderManifest A_2)
at Devart.Data.Oracle.Entity.OracleEntityProviderServices.a(DbProviderManifest A_0, DbCommandTree A_1)
at Devart.Data.Oracle.Entity.OracleEntityProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest, DbCommandTree commandTree)
at System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree)
at System.Data.EntityClient.EntityCommandDefinition..ctor(DbProviderFactory storeProviderFactory, DbCommandTree commandTree)
jacksparrow
 
Posts: 9
Joined: Wed 26 May 2010 02:39

Postby AndreyR » Fri 01 Oct 2010 10:41

This problem relating to dotConnect for PosgtreSQL was discussed here.
Unfortunately, nothing can be done at the moment.
However, usually there is a possibility to modify the query in order to make it usable, like in this thread.
AndreyR
Devart Team
 
Posts: 2919
Joined: Mon 07 Jul 2008 13:16


Return to dotConnect for Oracle