1

我将我的实体定义为

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在展平后不必为每个扩展属性附加多个调用的解析器。有没有一种优雅的方法?是否可以在模型属性本身上指定任何属性以指定其解析器,或者以其他方式?

4

0 回答 0