เซ็ต Id ของ Entity ให้เริ่มจากค่าที่ต้องการ (EntityFramework Core)

wk
1 min readJan 24, 2019

--

ตัวอย่าง ต้องการให้ Student มี Id เริ่มจาก 1000 แล้วบวกเพิ่มทีละ 1

ให้ใช้ฟังก์ชั่น StartAt และ HashDefaultValueSql โดยเขียนไว้ในฟังก์ชัน OnModelCreating ของคลาส Context ดังนี้

class Student {
[Key]
public int Id { set; get; }
public string Name { set; get; }
}
class MyContext : DbContext {
public MyContext(DbContextOptions options) : base(options) { }
public DbSet<Student> Students { set; get; }
protected override void
OnModelCreating(ModelBuilder modelBuilder) {
modelBuilder
.HasSequence<int>("StudentId")
.StartsAt(1000);
modelBuilder.Entity<Student>().Property(e => e.Id)
.HasDefaultValueSql(@"nextval('""StudentId""')");
}
}

--

--

No responses yet