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.
OUTER APPLY is not supported by Oracle
-
- Devart Team
- Posts: 1710
- Joined: Thu 03 Dec 2009 10:48
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.
- 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.
-
- Posts: 9
- Joined: Wed 26 May 2010 02:39
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)
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)
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.
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.