Я пытаюсь использовать класс контроллера впервые с EF, и весь код был сгенерирован автоматически для веб-API.
Итак, у меня есть объект, который имеет некоторые свойства, и у него есть другой объект,Я хочу иметь возможность вставить вложенный объект, но он не добавляется ... только основной объект.Я отладил Post Api, и я вижу значения, но они не вставляются в его таблицу.
Вот мои классы
public class Inventory
{
public int InventoryID { get; set; }
public string Operator { get; set; }
public string Warehouse { get; set; }
public decimal Total { get; set; }
public DateTime Date { get; set; }
public Localization Localization { get; set; }
}
public class Localization
{
public int LocalizationID { get; set; }
public string Reference { get; set; }
public int TicketsToStore { get; set; }
public int TicketsStored { get; set; }
public bool IsValid { get; set; }
public decimal Precision { get; set; }
}
По сути, Inventory - это отношение один-многос локализацией
это функция post api, сгенерированная
// POST: api/Inventories
[ResponseType(typeof(Inventory))]
public IHttpActionResult PostInventory(Inventory inventory)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Inventories.Add(inventory);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = inventory.InventoryID }, inventory);
}
и вот мой запрос на сообщение
$("#btnAdd").click(function () {
debugger
var Inventory= {
"Operator": $("#Operator").val(),
"Warehouse": $("#Warehouse").val(),
"Total": $("#Total").val(),
"Date": $("#Date").val(),
};
var Localization = {
"Reference": $("#Reference").val(),
"TicketsToStore": $("#TicketsToStore").val(),
"TicketsStored": $("#TicketsStored").val(),
"IsValid": $("#IsValid").val(),
"Precision": $("#Precision").val()
}
Inventory.Localization = Localization;
$.ajax({
type: "POST",
url: 'api/inventaries',
data: JSON.stringify(Inventory),
contentType: "application/json;charset=utf-8",
success: function (data, status, xhr) {
alert("The result is : " + status + ": " + data);
},
error: function (xhr) {
alert(xhr.responseText);
}
});
});
Мой вопрос: что я здесь не так делаю?