Skip to content

Linq query failure with left joins #2672

Closed
@Molinware

Description

@Molinware
IQueryable<ClienteFisicaPlanosBeneficiosPsqDtoEvento> queryable = session?.Query<Pessoa>()
    .LeftJoin(
        session?.Query<ContratoPlanosBeneficios>(),
        pessoa => pessoa,
        contrato => contrato.IdPessoa,
        (pessoa, contrato) => new { Pessoa = pessoa, Contrato = contrato })
    .Select(x =>
        new ClienteFisicaPlanosBeneficiosPsqDtoEvento
        {
            Identificador = x.Pessoa.IdPessoa,
            DependentesNomeCpf = x.Contrato.PesquisaListaDependente,
        });

int result = queryable.Count();
Query Source could not be identified: ItemName = manyInners, ItemType = System.Collections.Generic.IEnumerable`1[Genesis.OR.ContratoPlanosBeneficios], Expression = join ContratoPlanosBeneficios contrato in value(NHibernate.Linq.NhQueryable`1[Genesis.OR.ContratoPlanosBeneficios]) on [x] equals [contrato].IdPessoa into IEnumerable`1 manyInners
                        
[StackTrace]
   em NHibernate.Linq.QuerySourceNamer.GetName(IQuerySource querySource)
   em NHibernate.Linq.Visitors.HqlGeneratorExpressionVisitor.VisitQuerySourceReferenceExpression(QuerySourceReferenceExpression expression)
   em NHibernate.Linq.Visitors.HqlGeneratorExpressionVisitor.VisitExpression(Expression expression)
   em NHibernate.Linq.Visitors.QueryModelVisitor.VisitNhJoinClause(NhJoinClause joinClause, QueryModel queryModel, Int32 index)
   em Remotion.Linq.QueryModelVisitorBase.VisitBodyClauses(ObservableCollection`1 bodyClauses, QueryModel queryModel)
   em Remotion.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel queryModel)
   em NHibernate.Linq.Visitors.QueryModelVisitor.Visit()
   em NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel queryModel, VisitorParameters parameters, Boolean root, Nullable`1 rootReturnType)
   em NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor sessionFactory, Boolean filter)
   em NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IQueryExpression queryExpression, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
   em NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow, IDictionary`2 enabledFilters)
   em NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow)
   em NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression queryExpression)
   em NHibernate.Linq.DefaultQueryProvider.PrepareQuery(Expression expression, IQuery& query)
   em NHibernate.Linq.DefaultQueryProvider.Execute(Expression expression)
   em NHibernate.Linq.DefaultQueryProvider.Execute[TResult](Expression expression)
   em Genesis.OR.Pesquisa.ObjetosDto.ClienteFisicaPlanosBeneficiosPsqDtoEvento.ObterQueryPesquisa(IStatelessSession session, Int64 empresaAcessada) na D:\Fontes\Genesis.NET\Genesis.OR\Pesquisa\ObjetosDto\ClienteFisicaPlanosBeneficiosPsqDtoEvento.cs:linha 358
   em Genesis.BO.Pesquisa.ClienteFisicaPlanosBeneficiosPsqBoEvento.Get() na D:\Fontes\Genesis.NET\Genesis.BO\Pesquisa\ClienteFisicaPlanosBeneficiosPsqBoEvento.cs:linha 42
   em lambda_method(Closure , Object , Object[] )
   em Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionMethodAsync>d__12.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
   em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   em Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__10.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
   em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   em Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   em Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   em Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeInnerFilterAsync>d__14.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
   em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   em Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextResourceFilter>d__22.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
   em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   em Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   em Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   em Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeFilterPipelineAsync>d__17.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
   em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   em Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeAsync>d__15.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
   em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   em Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
   em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   em Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>d__6.MoveNext()

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions