2012-10-06 10 views
5

को गठबंधन करने का पसंदीदा तरीका क्या है, हम अपने वर्तमान ऐप में अधिकांश डेटा एक्सेस के लिए रीढ़ की हड्डी के रूप में ईएफ का उपयोग कर रहे हैं और हम धीरे-धीरे कुछ सर्वर-गहन प्रश्नों के लिए इसे दूर कर रहे हैं और इसके बजाय इसे डैपर के साथ बदल दिया।ऑटोफैक और डैपर

इस बात को ध्यान में रखते हुए, ऑटोफैक के साथ कनेक्शन को लागू करने का पसंदीदा तरीका क्या है? क्या यह आईडीबीएन कनेक्शन या कनेक्शन स्ट्रिंग इंजेक्ट करना है? आईडीबीसीनेक्शन मेरे लिए बेहतर लगता है लेकिन यदि आप इसका उपयोग "उपयोग" करते हैं और इसे बाद में कॉल द्वारा एक्सेस नहीं किया जा सकता है।

+1

अधिकांश चीजों के साथ, शायद ही कभी एक "पसंदीदा" तरीका होता है। यदि आपके पास सुझाव हैं कि आप काम जानते हैं, तो उन्हें पोस्ट करने के लायक हो सकते हैं, लेकिन ... –

उत्तर

6

हमारे पास ईएफ और डैपर दोनों का उपयोग करने वाली परियोजना है। हम इस तरह आईडीबीकनेक्शन पंजीकृत कर रहे हैं:

 builder.Register(c => 
      { 
       var db = c.Resolve<MyDbContext>(); 
       if (db.Database.Connection.State != ConnectionState.Open) 
       { 
        db.Database.Connection.Open(); 
       } 
       return db.Database.Connection; 
      }) 
       .As<IDbConnection>() 
       .ExternallyOwned() // DbContext owns connection and closes him when disposing. 
       .InstancePerHttpRequest(); 

और हमारे नियंत्रकों में आईडीबीकनेक्शन इंजेक्शन।

संबंधित मुद्दे