如何在使用热巧克力的代码优先方法中将字段指向另一个微服务

问题描述

我正在尝试使用 Hot Chocolate 将我的 API 拆分为微服务,并尝试实现代码优先方法模式拼接。在下面的示例中,我将通过 Employees 微服务解析 Company 对象点中的 Employee 字段。我也在尝试完成相反的操作,解析 Company 微服务中的 Employee 微服务中的 Company 属性。

# Company Microservice
class Company 
{
  public string Id {get;set;}
  public ICollection<Employee> Employees {get;set;}
}

class CompanyType : ObjectType<Company>
{
  protected override void Configure(IObjectTypeDescriptor<Company> descriptor)
  {
    descriptor.Field(c => c.Id).RequiredType<StringType>();

    descriptor.Field(c => c.Employees); // How do I get this to point to the Employee microservice?
  }
}

class CompanyByCompanyIdDataLoader : DataLoaderBase<string,Company>
{
  // ...
}

class CompanyByEmployeeIdDataLoader : DataLoaderBase<string,Company>
{
  // ...
}
# Employee Microservice
class Employee 
{
  public string Id {get;set;}
  public Company Company {get;set;}
}

class EmployeeType : ObjectType<Employee>
{
  protected override void Configure(IObjectTypeDescriptor<Employee> descriptor)
  {
    descriptor.Field(c => c.Id).RequiredType<StringType>();

    descriptor.Field(c => c.Company); // How do I get this to point to the Company microservice?
  }
}

class EmployeeByEmployeeIdDataLoader : DataLoaderBase<string,Employee>
{
  // ...
}

class EmployeesByCompanyIdDataLoader : DataLoaderBase<string,Employee>
{
  // ...
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...