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();
});
我有一个提供 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();
});