मैंने दो डीबीकॉन्टेक्स बनाए हैं, एक एप्लिकेशन कॉन्फ़िगरेशन के लिए है, दूसरा लॉगिंग के लिए है।एकाधिक डीबीकॉन्टेक्स्ट, एकाधिक डेटाबेस .etInitializer
कारण यह है कि, मैं लॉगिंग डीबी पर अधिकतम आकार सेट करना चाहता हूं, इसलिए यह सभी फ्री डिस्क स्पेस का उपयोग नहीं करता है और अन्य डेटाबेस को काम करने से रोकता है।
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
Database.SetInitializer<AdminContext>(new AdminInitialiser());
Database.SetInitializer<LoggingContext>(new LoggingInitialiser());
}
LoggingInitialiser में InitializeDatabase विधि नहीं बुलाया जा रहा है:
मेरी global.asax.cs फ़ाइल में, मैं निम्नलिखित है। क्या ऐसा इसलिए है क्योंकि केवल एक प्रारंभिक सेट किया जा सकता है? क्या दो डीबी कॉन्टैक्स के लिए शुरुआतीकरण करने का कोई तरीका है?
क्या कोई जोखिम नहीं है कि इसे कई बार बुलाया जा रहा है? मुझे संदेह है कि प्रारंभिकता महंगा है, भले ही तैनात करने में कोई बदलाव न हो। अगर आप इसे स्थिर कन्स्ट्रक्टर में डालते हैं, तो इसका अर्थ यह है कि इसे कभी-कभी कभी भी बुलाया जाएगा? – Holf