Bagikan melalui


Urutan

Catatan

Urutan adalah fitur yang biasanya hanya didukung oleh database relasional. Jika Anda menggunakan database non-relasional seperti Azure Cosmos DB, periksa dokumentasi database Anda tentang menghasilkan nilai unik.

Urutan menghasilkan nilai numerik unik dan berurutan dalam database. Urutan tidak terkait dengan tabel tertentu, dan beberapa tabel dapat disiapkan untuk menggambar nilai dari urutan yang sama.

Penggunaan dasar

Anda dapat menyiapkan urutan dalam model, lalu menggunakannya untuk menghasilkan nilai untuk properti:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.HasSequence<int>("OrderNumbers");

    modelBuilder.Entity<Order>()
        .Property(o => o.OrderNo)
        .HasDefaultValueSql("NEXT VALUE FOR OrderNumbers");
}

Perhatikan bahwa SQL tertentu yang digunakan untuk menghasilkan nilai dari urutan bersifat khusus database; contoh di atas berfungsi di SQL Server tetapi akan gagal pada database lain. Lihat dokumentasi database spesifik Anda untuk informasi selengkapnya.

Mengonfigurasi pengaturan urutan

Anda juga dapat mengonfigurasi aspek tambahan dari urutan, seperti skemanya, nilai awal, kenaikan, dll.:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.HasSequence<int>("OrderNumbers", schema: "shared")
        .StartsAt(1000)
        .IncrementsBy(5);
}