实体框架核心自动增量无法正常工作

时间:2019-06-06 09:48:51

标签: c# entity-framework model-view-controller

在尝试使用我的ASP.NET MVC API插入数据时,由Entity Framework自动生成的ID似乎超出范围,导致插入SQL Server时出现问题。该对象具有需要传递的所有数据和数据库,并且已经使用迁移创建了该对象。我不确定是什么导致此错误。预先感谢您的帮助

生成的ID的示例:

id being a negative value

这就是我将数据插入数据库的方式

_context.Triggers.Add(trigger);
_context.SaveChanges();

模型类:

 [Key]
 public int Id { get; set; }
 [Required]
 public int TriggerType { get; set; } //1 overload, 2 power off
 [Required]
 public string UserId { get; set; }
 [Required]
 public string Name { get; set; }

2 个答案:

答案 0 :(得分:1)

尝试一下:

[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }

答案 1 :(得分:0)

如果您有类似的内容,

private int _id = -1;
public int Id {get => _name; set => _name = value};

只需将其删除并尝试一下,

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }

这解决了我的问题