用于将 JSON 数组映射到 C# / ASP .Net Core 中的 DTO 的最佳数据类型

Best data type to use to map JSON arrays to DTOs in C# / ASP .Net Core

这可能是个愚蠢的问题,但我想知道以下问题: 我有一个 .Net 5 Web API,我想在其中创建一个 DTO 来接受来自前端的 POST 请求。 POST 请求中的正文包含以下 JSON:

{
    "aComment": "This is a text field",
    "aNumber": 5,
    "anArray": [1, 2, 3, 4, 5]
}

在控制器中,我有一个将接收此请求并将其映射到 DTO(“SomeDto”)的操作方法:

[HttpPost]
public async Task<ActionResult<SomeDto>> Post()
{
    // Some code
}

对于 JSON 整数数组,在 DTO 中使用的最佳数据类型是什么?

* int[]

* ICollection<int>

* IEnumerable<int>

* List<int>

我倾向于 ICollection 或 IEnumerable,因为它们比 List 更轻。但我想 int[] 也可以很好地工作?

编辑:

我看到 .Net Core 在构建现有数据库时会创建 ICollection 类型的集合,并在 class 构造函数中对其进行初始化。示例:

public class SomeModel
{
    public SomeModel()
    {
        Accounts = new HashSet<Account>();
    }

    public int? Id { get; set; }
    public virtual ICollection<Account> Accounts { get; set; }
}

也许我也应该使用 ICollection?尽管在上面的脚手架示例中,集合的类型是“Account”(即一个对象)。不确定这是否也适合原始类型(如 Integer)的简单集合?

这里使用dynamic

public 异步任务动态>> Post()