如何通过web Api.net core(C#)在数据库中下订单并提供订单详细信息
以下是实体、订单和订单详细信息 在这里,我尝试将订单及其详细信息放在数据库(API端)上。 如何在此处使用当前订单的Id? 我知道当前订单的Id将在保存到数据库中后创建。 但是我需要为每个OrderDetails提供OrderId,那么我如何解决这个问题呢如何通过web Api.net core(C#)在数据库中下订单并提供订单详细信息,api,Api,以下是实体、订单和订单详细信息 在这里,我尝试将订单及其详细信息放在数据库(API端)上。 如何在此处使用当前订单的Id? 我知道当前订单的Id将在保存到数据库中后创建。 但是我需要为每个OrderDetails提供OrderId,那么我如何解决这个问题呢 [HttpPost(“创建”)] 公共异步任务CreateOrder([FromBody]列表cartList,int customerId) { 订单currentOrder=新订单() { CustomerId=CustomerId, O
[HttpPost(“创建”)]
公共异步任务CreateOrder([FromBody]列表cartList,int customerId)
{
订单currentOrder=新订单()
{
CustomerId=CustomerId,
OrderDate=DateTime。现在,
OrderDetails=(从cartList中的项选择new OrderDetails(){
Id=//在这里如何使用当前订单的Id?
//我知道订单的Id将在保存到数据库后创建
ProductId=item.Product.Id,
数量=项目。数量由用户决定
})托利斯先生()
};
_context.Orders.Add(currentOrder);
wait_context.SaveChangesAsync();
返回CreateDataAction(“GetOrder”,new{id=currentOrder.id},currentOrder);
}
public partial class Order
{
public Order()
{
OrderDetails = new HashSet<OrderDetail>();
}
public int Id { get; set; }
public int CustomerId { get; set; }
public DateTime? OrderDate { get; set; }
public virtual User Customer { get; set; }
public virtual ICollection<OrderDetail> OrderDetails { get; set; }
}
public partial class OrderDetail
{
public int Id { get; set; }
public int OrderId { get; set; }
public int ProductId { get; set; }
public decimal? Price { get; set; }
public int? Quantity { get; set; }
public decimal? Total { get; set; }
public virtual Order Order { get; set; }
public virtual Product Product { get; set; }
}
public class ShoppingCartModel
{
public ProductModel Product { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
public decimal SubTotal { get; set; }
public int CustomerId { get; set; }
}
[HttpPost("create")]
public async Task<ActionResult<Order>> CreateOrder([FromBody] List<ShoppingCartModel> cartList, int customerId)
{
Order currentOrder = new Order()
{
CustomerId = customerId,
OrderDate = DateTime.Now,
OrderDetails = (from item in cartList select new OrderDetail() {
Id = //how can i use the Id of current order here?
//I know the Id of the order will be created after it is saved in database
ProductId = item.Product.Id,
Quantity = item.QuantityByUser
}).ToList()
};
_context.Orders.Add(currentOrder);
await _context.SaveChangesAsync();
return CreatedAtAction("GetOrder", new { id = currentOrder.Id }, currentOrder);
}