नहीं कहा जाता है मुझे अपने कस्टम डेटाबेस प्रारंभकर्ता पर बीज विधि को कॉल करने में कोई समस्या हो रही है। मैं एफई 5.0 का उपयोग कर रहा है और निम्नलिखित कोड है:DropCreateDatabaseAlways बीज
public static class MyDatabase
{
public static void Initialize()
{
Database.SetInitializer(new MyInitializer());
}
}
public class MyInitializer : DropCreateDatabaseAlways<MyContext>
{
protected override void Seed(MyContext context)
{
base.Seed(context);
context.Roles.Add(new Role
{
ID = 1,
Name = "User",
});
context.Roles.Add(new Role
{
ID = 2,
Name = "Admin",
});
context.SaveChanges();
}
}
इन दो वर्गों MVC app से एक अलग वर्ग पुस्तकालय में मौजूद हैं। Global.asax
में, मैं Initialize()
विधि कॉल:
MyDatabase.Initialize();
डेटाबेस ठीक बनाया जाता है, यह सिर्फ Seed(MyContext context)
विधि नहीं बुलाया जाता है और कोई डेटा मेरी डेटाबेस में डाल दिया जाता है।
जिज्ञासा से, यदि आप आधार डालते हैं तो क्या होता है। विधि के अंत में? – IronMan84
वही बात, इसे नहीं कहा जाता है। मैंने संदर्भ पर ब्रेकपॉइंट लगाया। भूमिकाएं। जोड़ें और यह कभी नहीं टूटता है। क्या शुरुआती क्लास लाइब्रेरी में प्रारंभकर्ता के साथ कुछ भी करना होगा, न कि वेब प्रोजेक्ट में? मैंने सोचा कि मैंने इसे पहले किया है, लेकिन विशेष रूप से याद नहीं कर सकता। –
यह हो सकता है। यह भी हो सकता है कि आपने सबकुछ स्थिर वर्ग में रखा हो। – IronMan84