Print Page | Close Window

CodeDom generated query

Printed From: IdeaBlade
Category: DevForce
Forum Name: DevForce 2010
Forum Discription: For .NET 4.0
URL: http://www.ideablade.com/forum/forum_posts.asp?TID=4659
Printed Date: 28-Apr-2024 at 8:42am


Topic: CodeDom generated query
Posted By: chuckc
Subject: CodeDom generated query
Date Posted: 18-Mar-2014 at 6:57am
I am using CodeDom to create and execute runtime specified full LINQ queries, which is working nicely. However, I am now trying to add support for IncludePaths and am getting the below exception that I can't find any documentation on.

Below is the full text of the generated code, which works properly until I add the line
query = query.Include("SourcePolicyPeriod.Certificates");

The same query - with the Include - works properly in the main project environment.
__________________________________________________________________
               using System;
               using System.Collections;
               using System.Collections.Generic;
               using System.Linq;
               using System.Text;
               using IdeaBlade.EntityModel;

               using iCatalyst.DomainModel;


               public class LinqTextQueryGeneratedClass
               {
                    private EntityQuery<Quote> source;

                    public LinqTextQueryGeneratedClass( EntityQuery<Quote> parmSource )
                    {
                        source = parmSource;
                    }

                     public IList Query()
                    {
                        var query = from Quote e in source where e.Name != null && e.SourcePolicyPeriod.Certificates.Any(x=>x.Provider.Person.FirstName.StartsWith("A"))
select new { __root=e, __item1 = new object(), __item2 = new object() };
                        query = query.Include("SourcePolicyPeriod.Certificates");
                        return query.ToList();
                    }
               }
_______________________________________________________________

Exception and stack trace:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> IdeaBlade.EntityModel.EntityServerException: IncludePaths can only be added to a queries that return an entity or a collection of entities ---> System.Exception: IncludePaths can only be added to a queries that return an entity or a collection of entities
   at IdeaBlade.EntityModel.EntityServerProxy.CheckConnection(Exception e)
   at IdeaBlade.EntityModel.EntityServerProxy.ExecFunc[T](Func`1 func, Boolean funcWillHandleException)
   at IdeaBlade.EntityModel.EntityServerProxy.ExecuteOnServer[T](Func`1 func, Boolean funcWillHandleException)
   at IdeaBlade.EntityModel.EntityServerProxy.Fetch(SessionBundle bundle, IEntityQuerySurrogate query)
   at IdeaBlade.EntityModel.EntityManager.ExecuteServerQuery(IEntityQuerySurrogate entityQuery)
   --- End of inner exception stack trace ---
   at IdeaBlade.EntityModel.EntityManager.HandleEntityServerException(Exception ex, Boolean tryToHandle, PersistenceOperation operation, Boolean throwOnError)
   at IdeaBlade.EntityModel.EntityManager.ExecuteServerQuery(IEntityQuerySurrogate entityQuery)
   at IdeaBlade.EntityModel.EntityManager.ExecuteFetch(IEntityFinder finder)
   at IdeaBlade.EntityModel.EntityQueryFinder.Execute()
   at IdeaBlade.EntityModel.EntityManager.ExecuteQueryCore(IEntityQuery query, Boolean isAsync)
   at IdeaBlade.EntityModel.EntityManager.ExecuteQuery[T](IEntityQuery`1 query)
   at IdeaBlade.EntityModel.EntityQueryExtensions.Execute[T](IEntityQuery`1 query)
   at IdeaBlade.EntityModel.EntityQuery`1.GetEnumerator()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at LinqTextQueryGeneratedClass.Query()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at iCatalyst.LinqTextQuery.LinqTextQueryRuntime`1.ExecuteQuery(TSource source) in c:\ActiveProjects\icatERP2_MoDocs\iCatalyst\trunk\iCatalyst.LinqTextQuery\LinqTextQueryRuntime.cs:line 157
   at iCatalyst.LinqTextQuery.LinqTextQueryBuilder`1.Query(String queryText, String includeText) in c:\ActiveProjects\icatERP2_MoDocs\iCatalyst\trunk\iCatalyst.LinqTextQuery\LinqTextQueryBuilder.cs:line 73
   at iCatalyst.DataBrowser.QueryGenerator.Query(Type type, String expression, String displayList, String includeEntities) in c:\ActiveProjects\icatERP2_MoDocs\iCatalyst\trunk\iCatalyst.DataBrowser\QueryGenerator.cs:line 130



Replies:
Posted By: chuckc
Date Posted: 22-Mar-2014 at 8:32am
Hello out there?

Anybody at IdeabBlade have some insight as to where this IdeaBlade.EntityModel.EntityServerException is coming from?  Any documentation on the exception? 

Thanks! 


Posted By: sbelini
Date Posted: 25-Mar-2014 at 3:15pm
Hi Chuck,

I'm working on a repro and will follow up shortly.


Posted By: sbelini
Date Posted: 25-Mar-2014 at 3:42pm
Chuck,

I can't reproduce this issue here.
Please provide a small solution reproducing the issue.
Please target NorthwindIB in the repro solution.



Posted By: chuckc
Date Posted: 25-Mar-2014 at 3:45pm
I'll try and get to that soon, but in the meantime is there any documentation on the exception in the original posting that you could pass along to me?


Posted By: sbelini
Date Posted: 25-Mar-2014 at 3:57pm
Based on the exception, it looks like the entity type returned by the query is not being found.
Hard to tell why by looking at your snippet.
A repro solution will help to determine why this is happening.


Posted By: chuckc
Date Posted: 25-Mar-2014 at 8:10pm
Do you have an email address where we can continue this conversation, and possibly exchange information on access to source code?



Print Page | Close Window