我正在尝试使用 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>
{
// ...
}