public class BaseEntity
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public ObjectId Id { get; set; }
}
public class Order : BaseEntity
{
public string OrderId { get; set; }
public int CustomerId { get; set; }
public Payment Payment { get; set; }
public OrderStatus OrderStatus { get; set; }
public ShippingAddress ShippingAddress { get; set; }
public BillingAddress BillingAddress { get; set; }
[BsonRepresentation(BsonType.Double)]
public decimal Discount { get; set; }
//public BsonDateTime OrderDate { get; set; }
}
// PUT api/values/5
[HttpPut("{id}")]
public async Task<IActionResult> Put(string id, [FromBody]Order Order)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
await OrderContext.Put<Order>(x => x.OrderId == id, Order);
return Ok(Order);
}
这是我的请求正文。但是我将Order
模型设为null。我不知道为什么。
我有一个继承自 BaseEntity
的模型订单。我试图从邮递员传递PUT请求的模型。但我收到 Order
模型为null。
然而有趣的是,如果我从请求正文中删除id
属性,我会将所有模型填充为请求正文,但基本实体中的id
字段除外。在第二种情况下,我收到了00000000000000
的id属性。