Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GraphQL字段的参数重载_C#_.net_Graphql_Graphql Dotnet - Fatal编程技术网

C# GraphQL字段的参数重载

C# GraphQL字段的参数重载,c#,.net,graphql,graphql-dotnet,C#,.net,Graphql,Graphql Dotnet,我正在尝试使用.Net实现实现GraphQL服务器- 在服务器上,我希望我的模式如下 public class StarWarsQuery { public IEnumerable<Droid> Droids() { return droidRepository.GetAllDroids(); } public Droid Droids(string name) { return droidRepository

我正在尝试使用.Net实现实现GraphQL服务器-

在服务器上,我希望我的模式如下

public class StarWarsQuery
{
    public IEnumerable<Droid> Droids()
    {
        return droidRepository.GetAllDroids();
    }

    public Droid Droids(string name)
    {
        return droidRepository.GetDroidByName(name);
    }
}

public class Droid
{
    string name { get; set;}
}
{
   Droids{
     name
   }
}

的当前实现似乎忽略了重载,生成的图形不包含字符串参数,第二个查询失败

有人知道当前版本是否可以做到这一点吗?
如果没有,我需要查看的扩展点在哪里?

约定不支持方法重载,因为在GraphQL中没有表示方法-据我所知,不能有两个具有相同名称和不同签名的字段

如果您将代码更改为以下内容,则应该可以:

public class StarWarsQuery
{
    public IEnumerable<Droid> Droids()
    {
        return droidRepository.GetAllDroids();
    }

    public Droid Droid(string name)
    {
        return droidRepository.GetDroidByName(name);
    }
}

public class Droid
{
    string name { get; set;}
}

是的,经过调查你是对的。当前的graphql规范不允许在服务器上实现我想要的类型。
public class StarWarsQuery
{
    public IEnumerable<Droid> Droids()
    {
        return droidRepository.GetAllDroids();
    }

    public Droid Droid(string name)
    {
        return droidRepository.GetDroidByName(name);
    }
}

public class Droid
{
    string name { get; set;}
}
{
  droids{ # note also the lowercase 'd' here
    name
  }
  droid(name:"super droid"){
    name
  }
}