我们最近在我们的项目中引入了 GraphQL,我以前从未使用过它,但是我非常喜欢它。我们决定使用 .NET Core 的 HotChocolate 库和客户端的 Apollo。
我不太确定的一件事是关于突变,特别是使用突变执行更新和部分更新。 我在某处读到这种做法,我应该坚持为每个 update 创建特定的突变,例如 updateUsername()、updateAddress()、updateCity() 所有这些都应该有特定的突变。
问题在于,如果我决定朝这个方向发展,我的代码库将大幅增长,因为我们非常受数据驱动,每个表有很多表和列。
另一个问题是,如何处理可空属性,我可以创建一个接受某些输入对象的突变,但最终我的实体将被覆盖,并且调用端未提供的所有可空属性都将设置为空。 有没有办法部分处理这个更新,或者我应该为我想要更新的每个属性使用特定的更新突变?