मैं इकाई ढांचे के कोड-पहले DbContext से कनेक्शन स्ट्रिंग कैसे पास कर सकता हूं? DbContext और कनेक्शन स्ट्रिंग web.config में एक ही प्रोजेक्ट में होने पर मेरा डेटाबेस जेनरेशन सही तरीके से काम करता है और उसी तरह नाम दिया जाता है। लेकिन अब मुझे DbContext को किसी अन्य प्रोजेक्ट में स्थानांतरित करने की आवश्यकता है, इसलिए मैं एक कनेक्शन स्ट्रिंग को पास करने का परीक्षण कर रहा हूं जो निम्नानुसार है:
मॉडल और संदर्भ
public class Dinner
{
public int DinnerId { get; set; }
public string Title { get; set; }
}
public class NerdDinners : DbContext
{
public NerdDinners(string connString)
: base(connString)
{
}
public DbSet<Dinner> Dinners { get; set; }
}
कार्य
public ActionResult Index()
{
var db = new NerdDinners(ConfigurationManager.ConnectionStrings["NerdDinnerDb"].ConnectionString);
var dinners = (from d in db.Dinners
select d).ToList();
return View(dinners);
}
Web.Config
<connectionStrings>
<add name="NerdDinnerDb" connectionString="Data Source=|DataDirectory|NerdDinners.sdf" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
यदि मैं एक्शन का विश्लेषण करने के लिए एक ब्रेकपॉइंट सेट करता हूं db
, तो कनेक्शन स्ट्रिंग है, लेकिन यह डेटाबेस या कुछ भी नहीं बनाता है या नहीं ढूंढता है।
SQL सर्वर से कनेक्शन स्थापित करते समय नेटवर्क-संबंधी या आवृत्ति-विशिष्ट त्रुटि हुई। सर्वर नहीं मिला था या पहुंच योग्य नहीं था। सत्यापित करें कि उदाहरण का नाम सही है और दूरस्थ कनेक्शन की अनुमति देने के लिए SQL सर्वर कॉन्फ़िगर किया गया है। (प्रदाता: नामित पाइप प्रदाता, त्रुटि: 40 - SQL सर्वर से कनेक्शन नहीं खोल सकता)