无法在对象“ dbo.FeedBack”中插入重复密钥

0 c# asp.net-mvc

{“违反主键约束'PK_FeedBack'。无法在对象'dbo.FeedBack'中插入重复键。重复键值为(0)。\ r \ n该语句已终止。“}

public int InsertFeedBack(FeedBack fb)
    {
        db.FeedBacks.Add(fb);
        db.SaveChanges();

        return fb.ID;
    }
Run Code Online (Sandbox Code Playgroud)

 

public JsonResult Send(string name, string mobile, string address, string email, string content)
    {
        var feedback = new FeedBack();
        feedback.Name = name;
        feedback.Email = email;
        feedback.CreatDate = DateTime.Now;
        feedback.Phone = mobile;
        feedback.Content = content;
        feedback.Address = address;

        var id = new LHeDAO().InsertFeedBack(feedback);
        if (id > 0)
        {
            return Json(new
            {
                status = true
            });
            //send mail
        }

        else
            return Json(new
            {
                status = false
            });
    }
Run Code Online (Sandbox Code Playgroud)

 

public partial class FeedBack
{
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int ID { get; set; }

    [Required]
    [StringLength(50)]
    public string Name { get; set; }

    [Required]
    [StringLength(50)]
    public string Phone { get; set; }

    [Required]
    [StringLength(50)]
    public string Email { get; set; }

    [Required]
    [StringLength(50)]
    public string Address { get; set; }

    [Required]
    [StringLength(50)]
    public string Content { get; set; }

    public DateTime? CreatDate { get; set; }

    public bool? status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*ker 5

我想您的身份证需要

 [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
Run Code Online (Sandbox Code Playgroud)

并确保将ID设置为数据库中的标识列。