Kerangka Aplikasi: ASPNET Core 2.1
Ini kelasku
public class Employee
{
[DataMember(Name = "key")]
[Key]
public Guid Key { get; set; }
[Required]
[DataMember(Name = "Name")]
public string Name { get; set; }
}
Saya memiliki kode di bawah ini yang memungkinkan penyemaian data dan pembuatan otomatis kolom Guid
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//Auto generation of Guid
modelBuilder.Entity<Employee>().Property(x => x.Key).HasDefaultValueSql("NEWID()");
//seeding of data
modelBuilder.Entity<Employee>().HasData(
new Employee{ Name = "Hamlet" },
new Employee{ Name = "King Lear" },
new Employee{ Name = "Othello" }
);
}
Saya mendapatkan kesalahan di bawah ini saat menjalankan perintah add-migration InitialCreate
Entitas awal untuk tipe entitas 'Karyawan' tidak dapat ditambahkan karena tidak ada nilai yang diberikan untuk properti 'Kunci' yang diperlukan.
Saya tidak ingin mengirimkan nilai untuk Key
. Saya ingin itu dibuat secara otomatis di database SQL Server.
Persyaratan dasar saya adalah: Masukkan data master (diperbarui) setiap kali saya menjalankan update-database
di konsol manajer paket.
HasData
tidak memiliki kelebihan yang menerima spesifikasi kunci yang cocok, seperti yang dimilikiAddOrUpdate
. Ini bisa berupa permintaan fitur. Sampai saat itu, satu-satunya pilihan Anda adalah menentukan nilai kunci. Namun perlu diperhatikan, bahwa Anda akan selalu memerlukan kunci yang ditentukan jika Anda juga ingin memasukkan data yang merujuk keEmployee
. - person Gert Arnold   schedule 24.11.2018