Skip to content

stef-bulteel/HCMartenBug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To run the project:

  1. Update settings in appsettins.json file to point to an existing instance of Postgres, or bring up an instance of Postgres with docker as follows: docker-compose up
  2. Run the project
  3. Query using the GraphQl UI at /graphql

Query that works (no nested objects)

{
  products {
    nodes {
      id
      name
    }
  }
}
{
  "data": {
    "products": {
      "nodes": [
        {
          "id": "4997dd82-0678-42f9-a8d7-7d4ff44795f5",
          "name": "Entity1"
        },
        {
          "id": "a366fba0-2ab3-4ca1-9e84-394d665ab014",
          "name": "Entity2"
        },
        {
          "id": "e0a54496-2e50-491c-8ad4-2092cd2fc6ac",
          "name": "Entity3"
        },
        {
          "id": "35f594da-7aac-4bdf-958e-72a609df569d",
          "name": "Entity4"
        },
        {
          "id": "6e352ee0-790f-4357-8d00-6c5d6b7523c5",
          "name": "Entity5"
        },
        {
          "id": "30312db1-76e9-45b3-bac1-a63ace74f009",
          "name": "Entity6"
        },
        {
          "id": "29e7c503-da9e-4539-b093-21ca5793ae0c",
          "name": "Entity7"
        },
        {
          "id": "20461066-b06c-4273-bf3f-c28dceaa3868",
          "name": "Entity8"
        },
        {
          "id": "9ccf0ee0-e4c9-4f62-a9e6-992b8e0d01d6",
          "name": "Entity9"
        },
        {
          "id": "8a3a8596-740a-4bf8-935b-ec9ef326f743",
          "name": "Entity10"
        }
      ]
    }
  }
}

Query that fails (nested)

{
  products {
    nodes {
      id
      name
      properties {
        description
        details
      }
    }
  }
}
{
  "errors": [
    {
      "message": "Unexpected Execution Error",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "products"
      ],
      "extensions": {
        "message": "Value cannot be null. (Parameter 'key')",
        "stackTrace": "   at System.Collections.Generic.Dictionary`2.set_Item(TKey key, TValue value)\r\n   at Marten.Linq.Parsing.SelectParser.VisitConstant(ConstantExpression node) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 79\r\n   at Marten.Linq.Parsing.SelectParser.Visit(Expression node) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 34\r\n   at System.Linq.Expressions.ExpressionVisitor.VisitBinary(BinaryExpression node)\r\n   at Marten.Linq.Parsing.SelectParser.VisitBinary(BinaryExpression node) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 66\r\n   at Marten.Linq.Parsing.SelectParser.Visit(Expression node) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 34\r\n   at System.Linq.Expressions.ExpressionVisitor.VisitConditional(ConditionalExpression node)\r\n   at Marten.Linq.Parsing.SelectParser.Visit(Expression node) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 34\r\n   at Marten.Linq.Parsing.SelectParser.ReadBinding(MemberAssignment binding) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 116\r\n   at Marten.Linq.Parsing.SelectParser.VisitMemberInit(MemberInitExpression node) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 96\r\n   at Marten.Linq.Parsing.SelectParser.Visit(Expression node) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 34\r\n   at Marten.Linq.Parsing.SelectParser..ctor(ISerializer serializer, IQueryableMemberCollection members, Expression expression) in /_/src/Marten/Linq/Parsing/SelectParser.cs:line 27\r\n   at Marten.Linq.Parsing.SelectorVisitor.ToSelectTransform(Expression selectExpression, ISerializer serializer) in /_/src/Marten/Linq/Parsing/SelectorVisitor.cs:line 119\r\n   at Marten.Linq.Parsing.SelectorVisitor.VisitMemberInit(MemberInitExpression node) in /_/src/Marten/Linq/Parsing/SelectorVisitor.cs:line 78\r\n   at Marten.Linq.Parsing.SelectorVisitor.Visit(Expression node) in /_/src/Marten/Linq/Parsing/SelectorVisitor.cs:line 28\r\n   at Marten.Linq.CollectionUsage.BuildTopStatement(IMartenSession session, IQueryableMemberCollection collection, IDocumentStorage storage, QueryStatistics statistics) in /_/src/Marten/Linq/CollectionUsage.Compilation.cs:line 74\r\n   at Marten.Linq.Parsing.LinqQueryParser.BuildStatements() in /_/src/Marten/Linq/Parsing/LinqQueryParser.Statements.cs:line 33\r\n   at Marten.Linq.Parsing.LinqQueryParser.BuildHandler[TResult]() in /_/src/Marten/Linq/Parsing/LinqQueryParser.Handlers.cs:line 58\r\n   at Marten.Linq.MartenLinqQueryProvider.Execute[TResult](Expression expression) in /_/src/Marten/Linq/MartenLinqQueryProvider.cs:line 56\r\n   at Marten.Linq.MartenLinqQueryable`1.GetEnumerator() in /_/src/Marten/Linq/MartenLinqQueryable.cs:line 136\r\n   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)\r\n   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)\r\n   at HotChocolate.DefaultQueryableExecutable`1.<ToAsyncEnumerable>b__19_0()\r\n   at System.Threading.Tasks.Task`1.InnerInvoke()\r\n   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)\r\n--- End of stack trace from previous location ---\r\n   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)\r\n   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)\r\n--- End of stack trace from previous location ---\r\n   at HotChocolate.DefaultQueryableExecutable`1.ToAsyncEnumerable(CancellationToken cancellationToken)+MoveNext()\r\n   at HotChocolate.DefaultQueryableExecutable`1.ToAsyncEnumerable(CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()\r\n   at HotChocolate.Types.Pagination.QueryableCursorPagingHandler`1.QueryExecutor.QueryAsync(IQueryable`1 slicedQuery, IQueryable`1 originalQuery, Int32 offset, Boolean includeTotalCount, CancellationToken cancellationToken)\r\n   at HotChocolate.Types.Pagination.QueryableCursorPagingHandler`1.QueryExecutor.QueryAsync(IQueryable`1 slicedQuery, IQueryable`1 originalQuery, Int32 offset, Boolean includeTotalCount, CancellationToken cancellationToken)\r\n   at HotChocolate.Types.Pagination.CursorPagingHandler`2.SliceAsync(IResolverContext context, TQuery originalQuery, CursorPagingArguments arguments, CursorPaginationAlgorithm`2 algorithm, ICursorPaginationQueryExecutor`2 executor, CancellationToken cancellationToken)\r\n   at HotChocolate.Types.Pagination.QueryableCursorPagingHandler`1.SliceAsyncInternal(IResolverContext context, IQueryableExecutable`1 source, CursorPagingArguments arguments)\r\n   at HotChocolate.Types.Pagination.CursorPagingHandler.HotChocolate.Types.Pagination.IPagingHandler.SliceAsync(IResolverContext context, Object source)\r\n   at HotChocolate.Types.Pagination.PagingMiddleware.InvokeAsync(IMiddlewareContext context)\r\n   at HotChocolate.Execution.Processing.Tasks.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)\r\n   at HotChocolate.Execution.Processing.Tasks.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)"
      }
    }
  ],
  "data": {
    "products": null
  }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages