У меня есть приложение ASP.NET MVC, к которому я добавил веб-API для получения Json и вставки содержимого в SQL Server. В мобильном приложении Cordova и в тесте Rest Api я получаю статус Http 200. Однако запись не вставлена.
Вот класс и DBContext
:
public class MobileController : ApiController
{
private PTSContext db = new PTSContext();
//all the code....
}
Я создал этот класс для обработки тела json из запроса Http.
public class DailyCrewActivityJson
{
[JsonProperty("api_id")]
public string api_id { get; set; }
[JsonProperty("api_daily_crew_id")]
public string api_daily_crew_id { get; set; }
[JsonProperty("api_contract_id")]
public string api_contract_id { get; set; }
[JsonProperty("api_contract_task_id")]
public string api_contract_task_id { get; set; }
}
У меня есть этот класс для обработки вставки.
[HttpPost]
[Route("api/mobile/insertdailycrewactivity")]
public IHttpActionResult InsertDailyCrewActivity([FromBody] DailyCrewActivityJson crewActivityJson)
{
DailyCrewActivity d = new DailyCrewActivity();
d.id = crewActivityJson.api_id;
d.daily_crew_id = crewActivityJson.api_daily_crew_id;
d.contract_id = crewActivityJson.api_contract_id;
d.contract_task_id = crewActivityJson.api_contract_task_id;
db.DailyCrewActivities.Add(d);
db.SaveChanges();
return Ok();
}
Этот шаблон выглядит нормально? Я пытаюсь вручную выполнить POST из расширенного клиента REST, но у меня все еще не появляется вставка или ошибка.
Вот так выглядит мой URL и мое тело json:
https://<my url.com>/api/mobile/insertdailycrewactivity
JSON:
{
"api_id": "74849939162039260-1569958529936",
"api_daily_crew_id": "21273665486597612-1569862557128",
"api_contract_id": "eef03be7-82b9-4066-93d9-cb64d346481c",
"api_contract_task_id": "00407436-2450-4f40-9323-29860232e8f7",
}
РЕДАКТИРОВАТЬ 10/5/2019 Я переместил сайт локально и восстановил базу данных SQL в своем локальном SQL Express. Когда я запускаю сайт и звоню
http://localhost/api/mobile/insertdailycrewactivity
, я могу пройти через этот метод веб-API. Мои ошибки происходят в методе db.SaveChanges.
Ошибка происходит из System.Collections.ListDictionaryInternal и сообщает "{Неверное имя столбца 'DailyCrew_id'}" У меня нет столбца с этимимя. У меня есть столбец с именем daily_crew_id, и у меня есть таблица DailyCrew с полем id. Будет ли 'DailyCrew_id' имя во внутреннем списке? Я не знаю, где искать или как это исправить.