当初始化通过扩增出CLI新GraphQL后端,示例模式限定了与@model注释多个类型。例如...
type Blog @model {
id: ID!
name: String!
posts: [Post] @connection(name: "BlogPosts")
}
type Post @model {
id: ID!
title: String!
blog: Blog @connection(name: "BlogPosts")
comments: [Comment] @connection(name: "PostComments")
}
type Comment @model {
id: ID!
content: String
post: Post @connection(name: "PostComments")
}
Run Code Online (Sandbox Code Playgroud)
推送时,这将导致创建多个DynamoDB表(每个模型一个)。因此,在此示例中,创建了三个单独的DynamoDB表(博客,帖子和评论)
在我们的例子中,我们有一个Users模型,并且将要与用户关联二十个左右的小集合。当这些小型集合都属于一个表中的User对象时,我对于必须管理二十个不同的DynamoDB表感到不安。
From everything I'm reading it seems like AppSync is encouraging the use of multiple tables. For example, the Note in the screenshot below from the AWS AppSync documentation specifically calls …
amazon-web-services amazon-dynamodb graphql aws-appsync aws-amplify
有没有办法分离类似于使用optgroups的Sencha Touch选择列表的选项?我有一些选项需要看起来像是按照几个不同的标题分组.在常规HTML标记中,它看起来像:
<select>
<optgroup label="First Group">
<option value="A">OptionA</option>
<option value="B">OptionA</option>
<option value="C">OptionA</option>
</optgroup>
<optgroup label="Second Group">
<option value="D">OptionA</option>
<option value="E">OptionA</option>
<option value="F">OptionA</option>
</optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)
感谢您提前的时间!
关于在 .NET API 中使用 CQRS 模式,我见过一些示例,其中请求直接反序列化为命令/查询,然后发送出去进行处理,如下所示:
[HttpPost]
public async Task<IActionResult> CreateOrder(CreateOrderCommand command)
{
var result = await _mediator.Send(command);
return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)
在其他示例中,使用某种 dto 或请求对象,然后将其输入到命令/查询的构造函数中,如下所示:
[HttpPost]
public async Task<IActionResult> CreateOrder(CreateOrderDto model)
{
var command = new CreateOrderCommand(model.orderNumber, model.firstName...);
var result = await _mediator.Send(command);
return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)
第一种方法对我来说看起来更有吸引力,因为它减少了模型和代码行。您是否有理由使用第二种方法并将请求对象与命令对象分开?