【问题标题】:Value cannot be null. Entity值不能为空。实体
【发布时间】:2017-07-12 11:08:04
【问题描述】:

我有网络 API

我尝试从邮递员发送请求

这是我的模型

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace trackingappbackend.Models
{
    using System;
    using System.Collections.Generic;

    public partial class StartWorkingDay
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Key]
        public int Id { get; set; }
        public string Company { get; set; }
        public string Date { get; set; }
        public string Time { get; set; }
        public string INN { get; set; }
    }
}

这里是控制器

// POST: api/StartWorkingDays
    [ResponseType(typeof(StartWorkingDay))]
    public IHttpActionResult PostStartWorkingDay(StartWorkingDay startWorkingDay)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        db.StartWorkingDays.Add(startWorkingDay);
        db.SaveChanges();

        return CreatedAtRoute("DefaultApi", new { id = startWorkingDay.Id }, startWorkingDay);
    }

我像在屏幕上一样传递数据

但是我有这个错误

值不能为空。参数名称:实体

我该如何解决?

【问题讨论】:

  • @TimSchmelter 我不认为这是正确的复制。这似乎是一个反序列化问题。
  • @TimSchmelter 我同意 NtFreX
  • @TimSchmelter,请查看您的模型,然后查看您的数据库,哪些参数不应作为 null 传递,希望能为您提供路径。
  • 它是 id,但我会自动生成它@Rughaani
  • 请在您的请求中填写实际的日期和时间。 Date = sdf , Time = sdfsdf 不正确.

标签: c# asp.net asp.net-mvc asp.net-web-api asp.net-web-api2


【解决方案1】:

您正在请求正文中发送数据,而您的 Post 方法不知道这一点。您可以更改 Post 方法以添加 [FromBody] 以从正文中提取数据。

[ResponseType(typeof(StartWorkingDay))]
public IHttpActionResult PostStartWorkingDay([FromBody]StartWorkingDay startWorkingDay)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }

    db.StartWorkingDays.Add(startWorkingDay);
    db.SaveChanges();

    return CreatedAtRoute("DefaultApi", new { id = startWorkingDay.Id }, startWorkingDay);
}

另外,尝试调试您的方法以查看您的 startWorkingDay 参数是否与发送的数据一起反序列化。

希望有帮助。

奥马尔

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    相关资源
    最近更新 更多