.net visual-studio-2010 entity-framework oracle11g ora-00907

.net - Marco de la entidad Uniones exteriores izquierdas y agrupar en tiros: ORA-00907: paréntesis correctos que faltan



visual-studio-2010 entity-framework (2)

Estoy usando Entity Framework en un acceso de datos basado en Entity Framework para apuntar a múltiples bases de datos.

somos un equipo que trabaja con Entity Framework, desde hace 2 años, y el código producido funciona perfectamente con sql server 2008. Ahora, estamos probando el mismo código después de migrar la base de datos a Oracle 11 express r2g2, y todas las instrucciones que únete o agrupa en una excepción de tiro selectivo que muestre esta Pila de llamadas:

System.Data.EntityCommandExecutionException was unhandled by user code Message=An error occurred while executing the command definition. See the inner exception for details. Source=System.Data.Entity StackTrace: at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues) at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Futura.BusinessLogic.Services.DemandeHospitalisationServices.DemandeHospitalisationService.GetMedecinList() in C:/Work/FuturaSmartDesign/Futura.BusinessLogic/Services/DemandeHospitalisationServices/DemandeHospitalisationService.cs:line 87 at GetMedecinList(DomainService , Object[] ) at System.ServiceModel.DomainServices.Server.ReflectionDomainServiceDescriptionProvider.ReflectionDomainOperationEntry.Invoke(DomainService domainService, Object[] parameters) at System.ServiceModel.DomainServices.Server.DomainOperationEntry.Invoke(DomainService domainService, Object[] parameters, Int32& totalCount) at System.ServiceModel.DomainServices.Server.DomainService.Query(QueryDescription queryDescription, IEnumerable`1& validationErrors, Int32& totalCount) InnerException: Oracle.DataAccess.Client.OracleException Message=ORA-00907: missing right parenthesis Source=Oracle Data Provider for .NET ErrorCode=-2147467259 DataSource=Calys Number=907 Procedure="" StackTrace: at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Exception innerException) at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck, Exception innerException) at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior) at Oracle.DataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) InnerException: Message=Oracle 11.2.0.2.0 ne prend pas en charge APPLY InnerException:

Cualquier ayuda será apreciada, gracias de antemano.


Tuve este error con EF 5 y Oracle 11g cuando mi consulta EF tenía demasiados "Incluir". En mi caso 7 ".Include" causa este error.

var myEntity = __DbContext.Get<MyEntity>() .Include("Property1") .Include("Property2") .Include("Property3") .Include("Property4") .Include("RelatedEntities.Property1") .Include("RelatedEntities.Property2") .Include("RelatedEntities.Property3") .First(c => c.Id == id);

Lo cambié para hacer dos consultas para recuperar mis datos:

var myEntity = __DbContext.Get<MyEntity>() .Include("Property1") .Include("Property2") .Include("Property3") .Include("Property4") .First(c => c.Id == id); myEntity.RelatedEntities = __DbContext.Get<RelatedEntity>() .Include("Property1") .Include("Property2") .Include("Property3") .Where(re => re.MyEntityId == myEntity.Id) .ToList();