获取有关 Azure 数据库的数据 API 生成器的常见问题解答。
常规
什么是数据 API 生成器?
Azure 数据库的数据 API 生成器为 Azure 数据库提供新式 REST 和 GraphQL 终结点。
如何实现安装数据 API 生成器 CLI?
可以使用 .NET CLI 安装数据 API 生成器 CLI。 有关详细信息,请参阅 安装指南。
多个突变
什么是GraphQL中的多重突变支持?
对GraphQL的多个突变支持允许在单个请求中执行多个突变。 目前,支持仅限于创建操作。
将多个突变与GraphQL结合使用的当前限制是什么?
将多个突变与GraphQL结合使用的当前限制如下:
- 仅支持创建操作。
- 仅数据库表支持的实体支持多个创建突变。
- 多个创建突变操作必须包括相关实体之间的有效插入顺序。 例如,如果支持表中的外键约束定义了实体关系,则 DAB 能够确定插入顺序。 在没有支持外键约束的情况下生成的关系可能没有 DAB 可以推断的有效插入顺序。
- 自引用关系不支持多个创建突变操作。
授权如何与GraphQL多个突变配合使用?
GraphQL中多个突变的授权处理方式与单个突变类似。 必须将多突变操作涉及的所有实体配置为支持请求中的相同角色。 例如,如果多重突变操作同时创建 Book 和 Publisher 实体,则这两个实体应定义相同的经过身份验证的角色。
有关授权的详细信息,请参阅 授权指南。
GraphQL多个突变是否支持原子行为?
是的,GraphQL多个突变支持原子行为。 如果多重突变操作中的任何一个突变失败,则会回滚整个操作。 如果所有突变都成功,则会提交整个事务。
如何实现GraphQL中使用多个突变?
若要在GraphQL中使用多个突变,请查看使用GraphQL中的多个突变指南。
行级别安全性如何处理GraphQL中的多个突变?
行级安全功能类似于GraphQL中的单个操作。 对于多个创建突变请求,在后备数据库表中创建项时,将考虑每个实体的“创建”策略。 同样,将每个读取策略考虑为多重突变操作的选择集。
有关行级别安全性的详细信息,请参阅 在 SQL 中实现行级安全性。