EF中可以使用DatabaseGenerated设置数据库字段的属性,它有三个枚举值:Computed、None、Identity

  • Computed 表示这一列是计算所得
  • None 不做处理
  • Identity 自增

对于int类型得到主键,默认是递增的,如果是Guid类型的主键则不然(默认值0000000000),当再次插入数据时就会报错。

 public class Student
     {
         [Key]
         public Guid Key { get; set; }

         //public Guid 
         public string Num { get; set; }
     }

Code First 数据注释--DatabaseGenerated

可以使用以下方式解决

 public class Student
     {
         [Key,DatabaseGenerated( DatabaseGeneratedOption.Identity)]
         public Guid Key { get; set; }
         public string Num { get; set; }
     }

Code First 数据注释--DatabaseGenerated

当主键时int型时,默认是会自动增长的,我们可以使用DatabaseGenerated.None操作取消自动增长这一特性

如果某一个列的值是计算所得的

  public class Student
     {
         [Key,DatabaseGenerated( DatabaseGeneratedOption.None)]
         public int Key { get; set; }

        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
         public string Num { get; set; }
     }

Code First 数据注释--DatabaseGenerated

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
  • 2022-01-19
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2021-11-06
相关资源
相似解决方案