Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GraphQL : Not Getting EF Related objects after implementing Types

For background, I am following the tutorial here: https://www.youtube.com/watch?v=HuN94qNwQmM .

As the code is too long I am putting that in git https://github.com/dikeshkumar135/CommandERGQL

Now, coming to the problem, when I am making request with this body

    query{
     platform{
       id,
       name,
       commands{
         howTo
       }
     }
    }

I am getting the data for platform with commands value as null and the below error:

{
  "message": "There was no argument with the name `platform` found on the field `commands`.",
  "locations": [
    {
      "line": 5,
      "column": 5
    }
  ],
  "path": [
    "platform",
    1,
    "commands"
  ],
  "extensions": {
    "fieldName": "commands",
    "argumentName": "platform"
  }

If I remove the type it's working fine, but if I add type then the problem occurs to get related objects.

like image 315
Dikesh Kumar Avatar asked Dec 30 '25 16:12

Dikesh Kumar


2 Answers

In HotChocolate v12, DependecyInjection included in the ResolverWith method assumes all parameters as an Argument. Except for below

There are also specific arguments that will be automatically populated by Hot Chocolate when the resolver is executed. These include Dependency injection services, DataLoaders, state, or even context like a parent value.

Documentation Source

Here is some example for the upgrade for the tutorial you are using

public IQueryable<Command> GetCommands(
    [Parent] Platform platform,
    [ScopedService] AppDbContext context)
{
    return context.Commands.Where(p => p.PlatformId == platform.Id);
}
like image 178
ryuuzake Avatar answered Jan 02 '26 06:01

ryuuzake


I downgraded hotchocolate packages from 12.0.1 to 11.0.8 ad it worked. It was a suggestion to my comment in youtube.

like image 44
Dikesh Kumar Avatar answered Jan 02 '26 04:01

Dikesh Kumar