我的数据库中有两个要通过Web API填充的表:

Orders
________
OrderID
OrderDate
OrderStatusID




OrderItems
___________
OrderID
ItemID
ItemNote
ItemSortOrder


下面是控制器中用于将Order发布到数据库的方法,该方法可以正常工作,我之前对其进行了单元测试。

[ResponseType(typeof(myClass.Order))]
[HttpPost]
public IHttpActionResult PostNewOrder(myClass.Order ord1)
{
      if (!ModelState.IsValid)
      {
          return BadRequest(ModelState);
      }
      using (MyContext ctx = new MyContext())
      {

          ctx.Orders.Add(ord1);
          ctx.SaveChanges();

          return CreatedAtRoute("DefaultApi", new { id = ord1.OrderID }, ord1);

      }
}


我的问题是-如何从数据库中返回新插入订单的OrderID? OrderID字段是数据库中的标识字段

最佳答案

无需添加任何新代码。

一旦调用ctx.SaveChanges();,对象ord1将在属性OrderID中具有新的ID。

关于entity-framework - 发布到数据库时如何从Web API返回标识值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40179084/

10-12 18:40