Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kerangka Entitas Memasukkan Data Awal Pada Rebuild

Anda membuat penginisialisasi basis data khusus dan menimpa Seed metode

public class MyContextInitializer
    : DropCreateDatabaseIfModelChanges<MyContext>
{
    protected override void Seed(MyContext context)
    {
        context.ContactTypes.Add(new ContactType { DisplayName = "Home" });
        context.ContactTypes.Add(new ContactType { DisplayName = "Mobile" });
        context.ContactTypes.Add(new ContactType { DisplayName = "Office" });
        context.ContactTypes.Add(new ContactType { DisplayName = "Fax" });

        //EF will call SaveChanges itself
    }
}

Kemudian Anda mendaftarkan penginisialisasi ini untuk konteks turunan Anda MyContext :

Database.SetInitializer<MyContext>(new MyContextInitializer());

Ini adalah metode statis Database class dan harus dipanggil di suatu tempat sekali saat startup aplikasi. Anda juga dapat memasukkannya ke dalam konstruktor statis konteks Anda untuk memastikan bahwa penginisialisasi disetel sebelum Anda membuat instance konteks pertama:

static MyContext()
{
    Database.SetInitializer<MyContext>(new MyContextInitializer());
}

Alih-alih penginisialisasi dasar DropCreateDatabaseIfModelChanges<T> anda juga dapat mengambil dari DropCreateDatabaseAlways<T> atau CreateDatabaseIfNotExists<T> jika itu lebih memenuhi kebutuhan Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO:Tidak dapat menemukan driver php/mysql

  2. php- dapatkan id sisipan terakhir

  3. Tidak dapat memuat file atau rakitan 'MySql.Data, Version=6.2.2.0

  4. Masalah dengan karakter UTF-8; apa yang saya lihat bukan apa yang saya simpan

  5. Mysql atau/dan didahulukan?