【发布时间】:2020-09-10 19:06:09
【问题描述】:
我正在用net core构建一个web api,我需要使用post方法来保存一个json文件的信息,缺点是json文件有一个数组,我不知道如何将信息发送到sql中的存储过程,以便它保存json文件的信息是这样的
"buyer": { //
"firstName": "fabio",
"lastName": "gomez",
"documentType": 0, // Puede ser 0: DNI, 1: Pasaporte o 2: Carnet de Extranjeria
"documentNumber": "01234567", // Permitir letras para pasaportes extranjeros
"phoneNumber": "51912345678",
"email": "hnos@gmail.com"
},
"passengers": [{ // En el primer pasajero, pueden repetirse los datos del comprador
"seat": 1,
"firstName": "pedro",
"lastName": "peres", // Considerar nueva campo
"secondLastName": "martinez",
"documentType": 0, // Puede ser 0: DNI, 1: Pasaporte o 2: Carnet de Extranjeria
"documentNumber": "15588",
"age": 42,
"gender": 0, // Puede ser 0: Masculino, 1: Femenino
},
{
"seat": 2,
"firstName": "Adriana",
"lastName": "gomez",
"secondLastName": "lopez",
"documentType": 1, // Puede ser 0: DNI, 1: Pasaporte o 2: Carnet de Extranjeria
"documentNumber": "XY01234567",
"age": 40,
"gender": 1, // Puede ser 0: Masculino, 1: Femenino
}
],
这个json必须通过post进入系统,我使用如下驱动
[HttpPost]
public async Task<IActionResult> Post([FromBody] List<string> valores)
{
await _repository.Insert(valores);
return Ok();
}
尝试使用 ado.net 做一些事情,但它不起作用
public async Task Insert(List<string> parametros)
{
using (SqlConnection sql = new SqlConnection(_connectionString))
{
using (SqlCommand cmd = new SqlCommand("sp_insertarpasajero", sql))
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
//cmd.Parameters.Add(new SqlParameter("@Id", parametros));
await sql.OpenAsync();
await cmd.ExecuteNonQueryAsync();
return;
}
}
}
我不知道如何将接收帖子的控制器的信息传递给对象或数据表,然后在存储过程中使用它,感谢您的合作
【问题讨论】:
-
在存储过程中创建一个负责接收数据表的类型,我没有设法将数据从列表传递到数据表
标签: .net-core asp.net-core-mvc asp.net-core-webapi