Como faço para passar uma string de conexão para o DbContext codificado pela estrutura da entidade? Minha geração de banco de dados funciona corretamente quando DbContext e a string de conexão em web.config estão no mesmo projeto e são nomeados da mesma forma. Mas agora preciso mover o DbContext para outro projeto, então estou testando a passagem de uma string de conexão para ele da seguinte maneira:
Modelo e Contexto
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; }
}
Açao
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>
Se eu definir um ponto de interrupção na ação e analisar o db
, a string de conexão está lá, mas não cria ou encontra o banco de dados ou nada.
Ocorreu um erro relacionado à rede ou específico da instância ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: Provedor de Pipes Nomeados, erro: 40 - Não foi possível abrir uma conexão com o SQL Server)