我有一个实体类
public class Employee
{
public long Id { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已将Id字段设置为具有自动编号生成的主键
modelBuilder.Entity<Employee>().HasKey(e => e.Id);
modelBuilder.Entity<Employee>().Property(e => e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
Run Code Online (Sandbox Code Playgroud)
但我希望Identity从10000而不是从1开始播种,这是默认值.如何在EF中指定?
我们将 Code First 与 EF-core 一起使用,我想添加一个列,该列的身份种子从 1 以外的另一个值开始。
目前,我们可以EntityTypeBuilder使用以下方法通过迁移期间将其设置为自动递增:
entityBuilder.Property(e => e.PropertyName).ValueGeneratedOnAdd();
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何更改身份种子。它是否仍然需要像其他版本的 EF 一样进行更新?例如,编写一些自定义 sql 并在迁移期间运行它?
如何首先使用 Entity Framework 4 代码和 SQL Compact 4 在 ID 列上设置标识种子?
在 EF-core 中似乎没有代码SqlServerMigrationSqlGenerator > override Generate(AlterTableOperation alterTableOperation)?