Mysql
 sql >> база данни >  >> RDS >> Mysql

Entity Framework Вмъкване на първоначални данни при повторно изграждане

Създавате персонализиран инициализатор на база данни и презаписвате Seed метод

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
    }
}

След това регистрирате този инициализатор за вашия извлечен контекст MyContext :

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

Това е статичен метод на Database клас и трябва да бъде извикан някъде веднъж при стартиране на приложението. Можете също да го поставите в статичен конструктор на вашия контекст, за да сте сигурни, че инициализаторът е зададен, преди да създадете първия екземпляр на контекста:

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

Вместо базовия инициализатор DropCreateDatabaseIfModelChanges<T> можете също да извлечете от DropCreateDatabaseAlways<T> или CreateDatabaseIfNotExists<T> ако това отговаря по-добре на нуждите ви.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. външна база данни с Adobe CQ5?

  2. Използване на съветници за архивиране на база данни за автоматизиране на задачите за поддръжка

  3. Групирайте mysql заявката на интервали от 15 минути

  4. Филтриране по дата и час MYSQL форматиране

  5. Присъединете един ред към няколко реда в друга таблица