तो मैं एमवीसी 3 और ईएफ 4 सीख रहा हूं। मैंने कोड को पहली विधि की कोशिश की लेकिन यह मेरे लिए बहुत भ्रमित था .. मैं कक्षाओं को कोई समस्या नहीं बना सकता, लेकिन मुश्किल हिस्सा विदेशी कुंजी और एक-दूसरे के बीच संबंधों से निपटने पर आता है।मॉडल प्रथम दृष्टिकोण का उपयोग करते समय बीज डेटा कैसे करें?
लेकिन मैं पहले मॉडल के साथ चला गया हूं। इस तरह से मैं इसे दृष्टि से डिजाइन कर सकता हूं और देख सकता हूं कि रिश्ते कहां हैं।
मेरे मॉडल के निर्माण के बाद, यह मेरे लिए एक एसक्यूएल बनाता है जो मैं अपने एसक्यूएल एक्सप्रेस डेटाबेस के खिलाफ निष्पादित करता हूं। किया और किया।
अब मुझे अपनी टेबल में डेटा चाहिए। निस्संदेह मैं उन्हें सर्वर एक्सप्लोरर का उपयोग करने में जोड़ सकता हूं, लेकिन अधिकतर संभावना है कि मैं अपने मॉडल में बदलाव करूँगा जैसा कि मैं साथ जाता हूं। और डेटाबेस को अद्यतन रखना जारी रखें। तो मैं डेटा मैन्युअल रूप से दर्ज नहीं कर सकता। मुझे पता है कि क्या आप पहले कोड का उपयोग करते हैं, आप DropCreateDatabaseIfModelChanges
प्राप्त कर सकते हैं और seed
विधि को ओवरराइड कर सकते हैं।
हालांकि मॉडल मॉडल के साथ मैं यह कैसे कर सकता हूं? तो अब क्या
protected void Application_Start()
{
Database.SetInitializer<BettingContext>(new DatabaseInitializer());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
:
public class DatabaseInitializer : IDatabaseInitializer<BettingContext> {
public void InitializeDatabase(BettingContext context) {
var teams = new List<Team> {
new Team { Name="Toronto Maple Leafs", League="NHL"},
new Team { Name="Boston Bruins", League="NHL"},
new Team { Name="Vancouver Canucks", League="NHL"},
new Team { Name="Nashville Predators", League="NHL"},
new Team { Name="Montreal Canadiens", League="NHL"},
};
}
}
बेशक
और मेरे वैश्विक फ़ाइल में: मैं निम्नलिखित कोड है? विधि को चलाने के लिए मैं इसे कैसे कहूं? मैं क्या गलत कर रहा हूं?
public class MySeedData : DropCreateDatabaseIfModelChanges<YourDataBaseContextClass>
{
protected override void Seed(YourDataBaseContextClass context)
{
// Create objects here and add them to your context DBSets...
}
}
public class YourDataBaseContextClass : DbContext
{
}
फिर, Application_Start()
भीतर आप कॉल:
क्या यह काम करेगा भले ही मैं कोड फर्स्ट के बजाय मॉडल फर्स्ट दृष्टिकोण का उपयोग कर रहा हूं? – masfenix
@masfenix: शायद ... –
यह बिल्कुल काम नहीं करता है :( – masfenix