Я новичок в angular и. NET core, я пытаюсь сохранить связанные данные в sqlserver через. net core api. Моя проблема заключается в том, что Контроллер заказов получает один объект Order, как он будет хранить элементы Order с тем же OrderId, который будет сгенерирован в Таблице заказов? Кроме того, я не могу вызвать контроллер заказов, мой сервисный метод возвращает эту ошибку
Не удалось загрузить ресурс: сервер ответил с состоянием 500 () POST https://localhost: 44378 / api / Orders 500
checkout.ts
placeorder() {
this.postservice.placeorder(this.orderdata.value, this.cart.selections)
}
В этом коде orderdata.value - простые значения, а cart.selections список объектов
Сервисный код
placeorder(orderdata: order, orderitems: orderItems): Observable<any[]>{
return this.http.post<any[]>(this.myAppUrl + 'api/Orders', [orderdata,orderitems]);}
Интерфейс заказа
export interface order{
orderid: number;
uid: number;
orderdate: Date;
orderstatus: string;
}
Интерфейс OrderItems
export interface orderItems extends Array<orderItem> {
}
export interface orderItem {
productId?: number;
productName?: string;
productPrice?: number;
quantityValue?: number;
}
Контроллер заказа
[HttpPost]
public async Task<ActionResult<Orders>> PostOrders(Orders orders)
{
_context.Orders.Add(orders);
await _context.SaveChangesAsync();
return CreatedAtAction("GetOrders", new { id = orders.OrderId }, orders);
}
Класс модели заказа
public partial class Orders
{
public Orders()
{
OrderItems = new HashSet<OrderItems>();
}
public int OrderId { get; set; }
public int? Uid { get; set; }
public DateTime? OrderDate { get; set; }
public string OrderStatus { get; set; }
public virtual ICollection<OrderItems> OrderItems { get; set; }
}
Класс модели OrderItems
public partial class OrderItems
{
public int ItemId { get; set; }
public int? ProductId { get; set; }
public string ProductName { get; set; }
public int? ProductPrice { get; set; }
public int? ProductQuantity { get; set; }
public int? OrderId { get; set; }
public virtual Orders Order { get; set; }
}