[DataContract]
public class Action
{
[DataMember]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ID { get; set; }
[DataMember]
public string ActionName { get; set; }
}
您的迁移仅在数据库中创建表,但不会告诉 Entity Framework ID 属性不是列 IDENTITY 。如果您没有告诉它使用哪个属性作为主键,EF 会选择名为 ID 的属性,但您还需要告诉 EF 它不是 IDENTITY 列,请使用以下属性执行此 DatabaseGenerated 操作:
[DataContract]
public class Action
{
[DataMember]
[Key] //This isn't technically needed, but I prefer to be explicit.
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ID { get; set; }
[DataMember]
public string ActionName { get; set; }
}