Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पुनर्निर्माण पर प्रारंभिक डेटा डालने वाला इकाई फ्रेमवर्क

आप एक कस्टम डेटाबेस प्रारंभकर्ता बनाते हैं और 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. प्लेसहोल्डर का उपयोग करना? int . के अलावा किसी अन्य चीज़ के लिए mySql क्वेरी पर जाएँ

  2. त्रुटि 1215:विदेशी कुंजी बाधा नहीं जोड़ सकता

  3. MySQL कुछ विदेशी कुंजियों को हटा रहा है

  4. MySQL विदेशी कुंजी जोड़ें

  5. MYSQL से MYSQLI में अपडेट हो रहा है