2014-07-18 10 views
5

एक वेब इंटरफेस के साथ मेरी एमवीसी परियोजनाओं में, मैं वेब में कनेक्शन स्ट्रिंग सेट करने के लिए उपयोग किया जाता हूं। कॉनफिग फ़ाइल।मैं कंसोल एप्लिकेशन में डिफ़ॉल्ट कनेक्शन स्ट्रिंग कैसे सेट करूं?

हालांकि, अब मैं एक बोग मानक कंसोल एप्लिकेशन बना रहा हूं - डेटाबेस हुक के साथ भी, लेकिन मैं एप्लिकेशन के लिए वैश्विक स्तर पर कनेक्शन स्ट्रिंग कैसे सेट करूं?

पल में, मैं

var dbIndex = new DBContext(); 
dbIndex.Database.Connection.ConnectionString = 
    "Data Source=USER-PC;Initial Catalog=TextProject.DBContext;" + 
    "Integrated Security=True;MultipleActiveResultSets=True"; 

की स्थापना कर रहा हूँ, लेकिन मैं इस ConnectionString गुण सभी फ़ंक्शन कॉल में हर समय निर्धारित करने की, की है। जब मेरे पास web.config नहीं है तो वैश्विक कनेक्शन स्ट्रिंग सेट करने का कोई तरीका है?

उत्तर

5

तो मुझे लगता है कि आपकी कहानियां क्या है कि एंटिटी फ्रेमवर्क (मुझे लगता है कि आप जो भी उपयोग कर रहे हैं) defaultConnection con नींव स्ट्रिंग।

आप इसे app.config फ़ाइल में अन्य लोगों द्वारा सुझाए गए अनुसार डालने का प्रयास कर सकते हैं, लेकिन मुझे यकीन नहीं है कि यह स्वचालित रूप से ईएफ द्वारा उठाया जाएगा या नहीं।

public class MyDbContext : DbContext 
{ 
    public MyDbContext() : base() 
    { 
     var cs = ConfigurationManager.ConnectionStrings["defaultConnection"] 
            .ConnectionString; 

     this.Database.Connection.ConnectionString = cs;     
    } 
} 
0

आप कंसोल एप्लिकेशन के लिए एक ही तत्व को App.config फ़ाइल में डाल सकते हैं और उसी तरह एक्सेस कर सकते हैं जैसे आप Web.config करेंगे। संबंधित: What is App.config in C#.NET? How to use it?

3

App.config कंसोल या .exe प्रोग्राम के लिए Web.config के बराबर है।

  • किसी भी परियोजना है कि आप app.config
  • की ConnectionStrings उपयोग करने के लिए अपने प्रवेश बिंदु परियोजना के लिए एक AppConfig जोड़े चाहते हैं पर System.Configuration के लिए एक संदर्भ जोड़ें। यह वह परियोजना है जिसे निष्पादित किया जाता है। (उदाहरण के लिए सांत्वना .exe)
  • app.config की <connectionStrings></connectionStrings> खंड में कनेक्शन स्ट्रिंग जोड़े

अब अपने app.config में कनेक्शन स्ट्रिंग जगह

string connStr =ConfigurationManager.ConnectionStrings["ConnName"] 
    .ConnectionString; 

App.config:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="ConnName" connectionString="Data Source=USER-PC;Initial Catalog=TextProject.DBContext;Integrated Security=True;MultipleActiveResultSets=True" /> 
</connectionStrings> 
</configuration> 
-1

समाधान बहुत सरल और आसान है -

आप क्या कर सकता है, अगर यह काम नहीं करता है, नया वर्ग जो विरासत में DbContext तैयार करना है। बस राइट क्लिक करें और प्रोजेक्ट को स्टार्ट-अप प्रोजेक्ट के रूप में सेट करें। डिफ़ॉल्ट रूप से इकाई की रूपरेखा स्टार्ट-अप परियोजना उठाता है और App.config के अंदर कनेक्शन स्ट्रिंग या web.config

इस को देखें उपयोग करता है:

enter image description here

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