Varlık çerçevesinin kod ilk DbContext'ine bir bağlantı dizesini nasıl iletirim? Veritabanı neslim, hem DbContext hem de web.config'deki bağlantı dizesi aynı projede olduğunda ve aynı şekilde adlandırıldığında düzgün çalışıyor. Ama şimdi DbContext'i başka bir projeye taşımam gerekiyor, bu yüzden ona aşağıdaki gibi bir bağlantı dizesi geçirmeyi test ediyorum:
Model ve Bağlam
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; }
}
Aksiyon
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>
Eylemde bir kesme noktası belirler ve analiz edersem db
, bağlantı dizesi oradadır, ancak veritabanını veya herhangi bir şeyi oluşturmaz veya bulmaz.
SQL Server'a bağlantı kurulurken ağla ilgili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığını doğrulayın. (sağlayıcı: Named Pipes Provider, hata: 40 - SQL Server'a bağlantı açılamadı)