Skip to Content
0
Former Member
Oct 27, 2016 at 04:24 AM

Why HANA Provider ADO.NET and Entity Framework doesnt work with multiple Includes in a query?

452 Views Last edit Oct 27, 2016 at 12:40 AM 2 rev

We use Entity Framework in our Data layer which as per the document here is supported; however, I have found that for moderately complex queries, where I’m including more than one child entities, return following error:

using (Context context = newContext())

{

var x = context.Genres

.Include("Books")

.Include("Dvds").ToArray();

}

Error:

System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> Sap.Data.Hana.HanaException: column store error: search table error: [6968] Evaluator: syntax error in expression string

at Sap.Data.Hana.HanaCommand._ExecuteReader(CommandBehavior commandBehavior, Boolean isExecuteScalar, Boolean isBeginExecuteReader)

at Sap.Data.Hana.HanaCommand.ExecuteReaderBatch(CommandBehavior behavior)\r\n at Sap.Data.Hana.HanaCommand.ExecuteDbDataReader(CommandBehavior behavior)

at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)\r\n at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)

at System.Data.Entity.Core.EntityClient.Internal.

EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)

--- End of inner exception stack trace ---

at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)

at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)

at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)

at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5()

at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)

at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()

at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()

at System.Linq.Buffer`1..ctor(IEnumerable`1 source)

at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source

Nonetheless, queries with one child entity work fine e.g.

using (Context context = newContext())

{

var x = context.Genres

.Include("Books").ToArray();

}

Also same queries work fine with SQLServer Data Provider.