如何將連接字符串傳遞給實體框架的代碼優(yōu)先DbContext?當(dāng)DbContext和web.config中的連接字符串位于同一項目中且以相同的方式命名時,我的數(shù)據(jù)庫生成正常工作。但是現(xiàn)在我需要將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配置<connectionStrings> <add name="NerdDinnerDb" connectionString="Data Source=|DataDirectory|NerdDinners.sdf" providerName="System.Data.SqlServerCe.4.0"/> </connectionStrings>如果我在操作中設(shè)置了一個斷點,則分析db,連接字符串在那里,但是它不會創(chuàng)建或找到數(shù)據(jù)庫或任何東西。建立與SQL Server的連接時發(fā)生與網(wǎng)絡(luò)相關(guān)或特定于實例的錯誤。服務(wù)器未找到或無法訪問。驗證實例名稱正確,并且已將SQL Server配置為允許遠程連接。(提供者:命名管道提供程序,錯誤:40-無法打開與SQL Server的連接)
3 回答

慕慕森
TA貢獻1856條經(jīng)驗 獲得超17個贊
在您的DbContext中,為您的DbContext創(chuàng)建一個默認的構(gòu)造函數(shù),并繼承基類,如下所示:
public myDbContext()
: base("MyConnectionString") // connectionstring name define in your web.config
{
}
- 3 回答
- 0 關(guān)注
- 374 瀏覽
添加回答
舉報
0/150
提交
取消