【发布时间】:2020-07-27 11:13:58
【问题描述】:
我是 Angular 和 .NET 核心的新手,我正在尝试通过 .net 核心 api 将相关数据存储到 sqlserver。 我的问题是订单控制器正在接收一个订单对象它将如何存储具有相同 OrderId 的订单项,这些订单项将在订单表中生成?另外我无法调用订单控制器,我的服务方法返回此错误
加载资源失败:服务器响应状态为 500 () 发布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; }
}
【问题讨论】:
标签: angular asp.net-core entity-framework-core asp.net-core-webapi