ASP NET 数据集列名格式

ASP NET Dataset Column name format

我有一个提供 API 的 ASP.Net Core 3.1 项目。

我的一些 api 与 Oracle 数据库交互,以获取一些数据集

这是我的 api 的一个简短示例:

    [HttpGet]
    [Route("api/GetMySpecificData")]
    public IActionResult getData()
    {
        ...
        var ds = new DataSet();
        OracleDataAdapter adapter = new OracleDataAdapter(query, connection);
        adapter.Fill(ds);
        return Ok(ds.Tables[0]);
    }

在我的 Oracle 数据库中,列名是 UPPER_SNAKE_CASED,我希望我的 Api 到 return 数据集的 属性 名称格式相同。 (示例:USER_ID)。相反,我的客户收到了不同格式的列名:useR_ID.

我完全不知道如何解决这个问题,但我想要的是接收 属性 名称,其格式与数据库列名称

中设置的格式相同

我在 startup.cs ConfigureServices 函数中使用了这段代码:

services.AddControllers().AddNewtonsoftJson()

也许我必须添加一些选项来指定此行为,但我不知道。

尝试使用以下代码:

Starup.cs

services.AddControllers().AddJsonOptions(jsonOptions =>
{
    jsonOptions.JsonSerializerOptions.PropertyNamingPolicy = null;
})

在Asp.net Core 3中默认PropertyNamingPolicy是camelCase并且将它设置为null将解决你的问题。

我想我需要的可能是 Newtonsoft.Json 区分大小写。

我最终要做的是:

        services.AddControllers().AddNewtonsoftJson( options =>
        {
            options.UseMemberCasing();
        });