ASP.NET数据集列名格式



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

我的一些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以与属性名相同的格式返回数据集。(例如:USER_ID(。相反,我的客户端会收到不同的列名格式:useR_ID。

我根本不知道如何解决这个问题,但我想要的是接收与DB列名中设置的格式相同的属性名称

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

services.AddControllers().AddNewtonsoftJson()

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

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

我最终要做的是:

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

尝试使用以下代码:

Starup.cs

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

在Asp.net Core 3中,默认情况下PropertyNamingPolicy为camelCase,并将其设置为null将解决您的问题。

相关内容

最新更新