在 Hotchocolate GraphQL 中组织查询、变更和订阅的最佳实践和有效方法是什么 类
What is the Best Practice and Efficient way to organize Query, Mutation and Subscription classes in Hotchocolate GraphQL
组织查询、变更和订阅的最佳和有效方式是什么class?
- 部分class
- [ExtendObjectType(OperationTypeNames.Query)]
- 其他人?
有什么区别,幕后发生了什么?
在这个official docs
如果我们只是想在不同的文件中组织我们的一种类型的字段,我们可以在基于注释的方法中使用部分 classes。
但是在workshop中使用了ExtendObjectType
对于部分 classes,幕后并没有发生什么特别的事情,因为它只是一个常规的 C# 功能。
它的缺点是它们不能跨程序集使用,并且您不能替换或删除在另一个部分 class.
中定义的字段
另一方面,Hot Chocolate 正在将类型扩展与原始类型定义合并。它们跨程序集工作,并允许您隐藏或替换原始类型定义的成员。
正如您从文档中引用的那样,如果您只想将类型定义拆分到同一项目中的不同文件中,则部分 classes 更易于使用。对于组合这些多个文件(classes)的更热巧克力集成方式,应使用类型扩展。
组织查询、变更和订阅的最佳和有效方式是什么class?
- 部分class
- [ExtendObjectType(OperationTypeNames.Query)]
- 其他人?
有什么区别,幕后发生了什么?
在这个official docs 如果我们只是想在不同的文件中组织我们的一种类型的字段,我们可以在基于注释的方法中使用部分 classes。
但是在workshop中使用了ExtendObjectType
对于部分 classes,幕后并没有发生什么特别的事情,因为它只是一个常规的 C# 功能。 它的缺点是它们不能跨程序集使用,并且您不能替换或删除在另一个部分 class.
中定义的字段另一方面,Hot Chocolate 正在将类型扩展与原始类型定义合并。它们跨程序集工作,并允许您隐藏或替换原始类型定义的成员。
正如您从文档中引用的那样,如果您只想将类型定义拆分到同一项目中的不同文件中,则部分 classes 更易于使用。对于组合这些多个文件(classes)的更热巧克力集成方式,应使用类型扩展。