我正在开发一个使用通过代码优先方法创建的EF的项目。该模型由其他人创建。在数据库表中没有主键,所有字段都是必填字段。现在我们需要一个列是自动递增的主键,另一列是可选的。我们在数据库表中进行了这些更改,但我们得到了“实体验证错误”,因为我们没有传递“ID”(可能是原因)。有什么变化,应该在哪里写出来?这是创建的类:
public int ID { get; set; }//This needs to be auto incremented primary key.
public int UserID{ get; set; }
public string Name { get; set; }
public string Address { get; set; }
public bool IsActive { get; set; }
public bool Deleted { get; set; }
public int ModifiedBy { get; set; }
public System.DateTime DateCreated { get; set; }
public System.DateTime DateModified { get; set; }//This field needs to be optional.
答案 0 :(得分:0)
您需要为新的Id属性设置Key和DatabaseGenerated属性。
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }