0

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

# 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>
{
  // ...
}
4

0 回答 0