C# 公共HttpResponseMessage帖子([FromBody]product pro)

C# 公共HttpResponseMessage帖子([FromBody]product pro),c#,json,C#,Json,我有这个控制器,我有Post方法。。但此方法不会在数据库中插入值。。我无法解决这个问题。。需要帮助吗 public HttpResponseMessage Post([FromBody]product pro) { try { using (project_smartEntities entities = new project_smartEntities()) { entities.

我有这个控制器,我有Post方法。。但此方法不会在数据库中插入值。。我无法解决这个问题。。需要帮助吗

public HttpResponseMessage Post([FromBody]product pro)
{
        try
        {
            using (project_smartEntities entities = new project_smartEntities())
            {
                entities.products.Add(pro);
                entities.SaveChanges();


                var message = Request.CreateResponse(HttpStatusCode.Created, pro);
                message.Headers.Location = new Uri(Request.RequestUri + pro.product_id.ToString());
                return message;
            }

        }

        catch (Exception ex)
        {
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
        }
}
主机:localhost:52442用户代理:Mozilla/5.0(Windows NT 10.0;WOW64; rv:53.0)Gecko/20100101 Firefox/53.0接受:应用程序/json 接受语言:en-US,en;q=0.5接受编码:gzip,deflate 连接:保持活动升级不安全请求:1内容类型: 应用程序/json

我想在我的产品表中插入这些值

{“产品名称”:玛丽亚 “条形码”:123456789,“有效期”:“2022-05-12T00:00:00”,“单位”:“3pc”,“税”:500.0,“成本”:8000.0,“尺寸”:“中等”,“数量”:2,“类别id”:7,“地点”:[],“产品类别”:空,“采购行”:[],“销售行”:[]}


如果
entities.SaveChanges();
失败,您可以检查Db中的产品表是否有任何约束。

您应该重构到web api 2的最新api抽象

public IHttpActionResult Post([FromBody]product pro) {    
    try {
        using (var entities = new project_smartEntities()) {
            entities.products.Add(pro);
            entities.SaveChanges();
            return CreatedAtRoute(
                routeName: "DefaultApi", 
                routeValues: new { id = pro.product_id, controller = "products" }, //assuming route template "api/{controller}/{id}" other properties
                content: pro);                
        }
    } catch (Exception ex) {
        return BadRequest();
    }    
}
由于没有显示属性路由,因此假设您使用的是基于默认约定的路由
DefaultApi


若要调试实体未保存的原因,请在异常处理程序中放置断点,并查看异常的原因。

首先,您是否在entities.SaveChanges()上获得异常?如果是,错误是什么?最后,如果调试应用程序,“产品”的值是多少”“是吗?这是您用json描述的期望值吗?它是否会给您错误的请求响应?或者什么都没有?它给出了错误的请求,并且没有显示任何异常,但不起作用。。仍然给出相同的错误错误错误请求,但没有任何错误exception@RafiaZaheer在catch中放置一个断点并检查异常
ex