एक ऐसे एप्लिकेशन में जो मैंने विरासत में प्राप्त किया है, वहां बेस नियंत्रक में यह है कि एप्लिकेशन में हर दूसरे नियंत्रक से विरासत प्राप्त होती है।डीबीकॉन्टेक्स्ट और कनेक्शन पूल
public BaseController()
{
db = new MyDbContext();
db.Database.Log = s => Debug.Write(s);
}
public MyDbContext()
: base("name=MyDbContext")
{
// hack to force Visual Studio to deploy the Entityframework.SqlServer package
var instance = SqlProviderServices.Instance;
}
आवेदन के तरीके के कारण, प्रति अनुरोध कम से कम 2 संदर्भ बनाए जाते हैं। (यह एक एमवीसी एप्लीकेशन है और प्रत्येक पृष्ठ पर होम कंट्रोलर के लिए एक कॉल है और किसी भी अन्य नियंत्रक को किसी विशेष पृष्ठ के लिए बुलाया जाता है।)
मेरा प्रश्न यह है कि DbContext
SQL सर्वर से कनेक्शन कब बनाता है? क्या यह तुरंत होता है जब संदर्भ बनाया जाता है, या केवल तभी जब कोई क्वेरी निष्पादित की जाती है?
यदि यह पूर्व है, तो मैं आवश्यकतानुसार SQL सर्वर से कनेक्शन की संख्या से दो बार उपयोग कर रहा हूं, और यदि यह बाद वाला है तो शायद यह कोई समस्या नहीं है।
मुझे नहीं लगता कि मैं इसे तत्काल भविष्य में दोबारा कर सकता हूं, निश्चित रूप से औचित्य के बिना नहीं। मुझे इस डिजाइन के संभावित नुकसान के बारे में पता होना चाहिए?
इकाई की रूपरेखा 6.1.3
इस एफई का कौन सा संस्करण है?और क्या आप हमें 'MyDbContext' के कन्स्ट्रक्टर दिखा सकते हैं? इससे आपके प्रश्न का उत्तर देने के लिए आवश्यक विवरण दिए जाएंगे। – sstan
प्रश्न अद्यतन किया गया – MrBliz