针对Entity Framework 数据生成选项DatabaseGenerated的一系列问题
在efcore中,给带有自增id的列表做新增时,传入了id值导致了新增报错。针对这个问题做了以下处理:
可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity、None和Computed。
**Identity:自增长
None:不处理
Computed:表示这一列是计算列。**
在EF中,如果主键是int类型,Code First生成数据库的时候会自动设置该列为自增长。但如果主键是Guid类型,我们就要手动的去设置了。
对于下面的模型,如果我们没有设置自增长,数据库中会以0来填充
我设置了
[Key]//主键
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] //设置自增
public int Id { get; set; }
数据库不用做修改,代码重新编译运行,表数据新增成功。