Я пытаюсь создать новую строку в таблице, которую я разместил в базе данных Azure SQL. Мой передний конец - AngularJS с C# в .NET в качестве задней части. Вот мой код от переднего конца передачи объекта:Передача объекта JavaScript на C#
var insertTicket = function (newTicket) {
return $http.post("http://localhost:50412/api/tickets", JSON.stringify(newTicket))
.then(function (response) {
console.log(response);
console.log("Insert Successful");
return;
});
А вот мой бэкенд код, который получает данные и пытается добавить в базу данных:
[Route("api/tickets")]
public HttpResponseMessage Post(Ticket t)
{
TicketsRepository.InsertTicket(t);
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
В TicketRepisitory:
public static void InsertTicket(Ticket tick)
{
var maxID = (from ticket in dataContext.Tickets
select ticket.id).Max();
var tick = new Ticket();
tick.id = maxID + 1;
dataContext.Tickets.Add(tick);
dataContext.SaveChanges();
}
А вот мой класс билетов:
public partial class Ticket
{
//Properties
public int id { get; set; }
public string title { get; set; }
public string customer { get; set; }
public string barcode { get; set; }
public string assignedTo { get; set; }
public string category { get; set; }
public string importance { get; set; }
public Nullable<System.DateTime> openDate { get; set; }
public Nullable<System.DateTime> dueDate { get; set; }
public Nullable<System.DateTime> closedDate { get; set; }
public string comments { get; set; }
public string condition { get; set; }
public Nullable<int> workHours { get; set; }
//Relationships
public Employee Employee { get; set; }
public Employee Employee1 { get; set; }
public Equipment Equipment { get; set; }
}
Я думаю, что проблема связана с Post(), ожидающим объект билета. Я попытался найти, как получить данные JSON, и использовать это для Ticket, но с большой удачей.
Моя проблема в том, что я не могу создать новую строку. Изменения не отражаются в моей базе данных.
Вы не скажете, в чем проблема? Что вы на самом деле видите, это не то, что вы хотите? –
Что такое ** newTicket ** объект выглядит как на стороне клиента и ** Класс Ticket выглядит как на стороне сервера? Вы видите ошибку скрипта в браузере? – Win
Вы использовали отладчик, чтобы узнать, какое значение t есть, когда оно вызвано? Это вообще называется? Если да, то это нулевой или заполненный какой-то ценностью? Убедитесь, что свойства класса Ticket соответствуют json-полям в New Ticket – JNYRanger