Thursday, 15 July 2010

asp.net mvc - Controling and managing DbContext -


अभी मेरे पास यह संदर्भ है

  नामस्थान Dafoor_MVC.Models {सार्वजनिक वर्ग DafoorDBContext: DbContext {सार्वजनिक डीबीसेट & lt; विभाग & gt; विभाग {प्राप्त करें; सेट; } सार्वजनिक DbSet & lt; पाठ्यक्रम & gt; पाठ्यक्रम {प्राप्त; सेट; } सार्वजनिक DbSet & lt; उत्तर & gt; उत्तर {प्राप्त करें; सेट; }}}   

यह संदर्भ बड़े हो जाएगा क्योंकि मेरे पास लगभग 40 मॉडल हैं जो मैं जोड़ना चाहता हूं।

1- क्या यह 40 मॉडल में एक अच्छा विचार है एक संदर्भ?

2- मुझे यह संदर्भ सभी उपयोगकर्ताओं के बीच साझा करना है, क्योंकि मैं हर बार पूछताछ के साथ डाटाबेस को हिट नहीं करना चाहता अगर रिकॉर्ड पहले से ही एक संदर्भ में है, लेकिन इससे प्रभावित होगा सर्वर मेमोरी, तो मैं कैसे "अंतिम वस्तु का निपटान करने के लिए इस्तेमाल किया वस्तु या वस्तु है कि संदर्भ से निपटने के लिए समय की एक राशि के लिए कहा नहीं मिल सकता है कुछ" कैसे लागू कर सकते हैं? मैं संपूर्ण संदर्भ का निपटारा नहीं करना चाहता।

3-यदि प्वाइंट 2 काम नहीं कर रहा था, तो क्या मैं एक उपयोगकर्ता सत्र में संदर्भ का एक उदाहरण रख सकता हूं ताकि संदर्भ एक उपयोगकर्ता विशिष्ट नहीं होगा स्पिकिशिप

क्या यह एक संदर्भ में 40 मॉडल रखने का एक अच्छा विचार है?

इसमें कुछ भी गलत नहीं है कि यदि वे सभी तार्किक रूप से एक साथ हैं।

मैं यह संदर्भ सभी उपयोगकर्ताओं के बीच साझा करना चाहता हूं < P> नहीं, आप नहीं करते आप प्रत्येक व्यक्तिगत HTTP अनुरोध के संदर्भ को इन्स्तांत करना चाहते हैं, और HTTP अनुरोध को संभालने से पहले इसे निपटाना है। DBContext कैश करें नहीं

क्या मैं एक उपयोगकर्ता सत्र में संदर्भ का एक उदाहरण रख सकता हूँ ताकि संदर्भ एक विशिष्ट उपयोगकर्ता नहीं हो, जो स्पिकिशियल नहीं है

आपको अपने संदर्भ को कैश नहीं करना चाहिए। हालांकि, आप सत्र में संदर्भ का उपयोग करके पुनर्प्राप्त वस्तुओं को संग्रहीत कर सकते हैं। ऑब्जेक्ट्स को नए संदर्भ में पुन: संलग्न करने के बिना आप अपडेट ऑब्जेक्ट्स / ऑब्जेक्ट ग्राफ़ में सक्षम नहीं होंगे।

UPDATE

यहां DBContext को वर्तमान HTTP अनुरोध से परे नहीं रखा जाना चाहिए:



No comments:

Post a Comment