엔터티 프레임 워크의 코드 우선 DbContext에 연결 문자열을 어떻게 전달합니까? 내 데이터베이스 생성은 web.config의 DbContext와 연결 문자열이 같은 프로젝트에 있고 이름이 같은 경우 올바르게 작동합니다. 하지만 이제 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 Server에 대한 연결을 설정하는 동안 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (공급자 : 명명 된 파이프 공급자, 오류 : 40-SQL Server에 대한 연결을 열 수 없음)