我将我的实体定义为
public class MyEntity
{
public string Id { get; set; }
public string Name { get; set; }
}
public class MyEntityDetails: MyEntity
{
public string ExtendedField1 { get; set; }
public string ExtendedField2 { get; set; }
// ...etc
}
实体对象类型如下所示
public class MyEntityObjectType : ObjectType<MyEntity>
{
protected override void Configure(IObjectTypeDescriptor<MyEntity> descriptor)
{
descriptor.Field<MyEntityDetailsResolver>(
t => t.GetDetailsAsync())
.Name("details")
.Type<NonNullType<myEntityDetailsType>>();
}
}
这会使用 MyEntity 公开一个“详细信息”字段。
现在,如果可能的话,我想把结构弄平,因为这看起来更合乎逻辑。同时,我希望descriptor.field
在展平后不必为每个扩展属性附加多个调用的解析器。有没有一种优雅的方法?是否可以在模型属性本身上指定任何属性以指定其解析器,或者以其他方式?