如何使用EF core流畅的语法设置PK列的自动生成?

本文关键字:PK 设置 自动生成 语法 EF core 何使用 | 更新日期: 2023-09-27 18:16:12

我想把我的Id属性标记为PK,它是自动生成和自动递增的。

在EF6中,我会这样做:

modelBuilder
  .Entity<Foo>()
  .HasKey(m => m.MyPkColumn);
modelBuilder
  .Entity<Foo>()
  .Property(m => m.MyPkColumn)
  .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);   // this doesn't work

这在EF Core中不起作用。新的语法是什么?

如何使用EF core流畅的语法设置PK列的自动生成?

EF Core有一个新的方法:ValueGeneratedOnAdd取代EF 6中的DatabaseGeneratedOptions:

modelBuilder.Entity<MyEntity>() .Property(p => p.Id) .ValueGeneratedOnAdd();