2012-03-06 2 views
0

web.config에 연결 문자열이있는 곳 (평판 좋은 출처)에서 다운로드 한 (.net4/mvc3) 솔루션 파일로 작업하고 있지만 명시적인 지시가 표시되지 않습니다. 데이터베이스를 만들고 포함 된 '.mdf'가 없습니다. 처음으로 데이터베이스를 만들 권한이 없다는 런타임 오류가 발생했습니다. 그래서 빈 데이터베이스를 만들고 방금 생성 한 db에 대한 .dbo/owner 권한을 가진 SQL 사용자를 문자열이 참조하는지 확인했습니다.처음 실행시 VS를 생성하는 VS의 기능 이해

그러나 이후의 빌드는 동일한 초기화 스크립트를 초기화하지 않습니다.

문서화 된 데이터베이스 생성을위한 '최초 사용'규칙은 어디에 있습니까?

thx

답변

0

이는 Entity Framework Code First의 기능입니다. 정확히 무엇을 찾고 있는지 확실하지 않지만 "EF 코드 첫 초기화 전략"을 검색하는 것이 도움이 될 수 있습니다. 난 당신이 EF의 세 가지 방법 중 하나로 사용되는 ObjectContext 객체의 인스턴스에서 데이터베이스를 만들 수 있습니다 엔티티 프레임 워크에 대해 얘기하는 가정 EF Code First DB Initialization Using Web.Config

+0

프로젝트는 코드 우선입니다. 첫 번째 실행에서 실패한 유일한 이유는 연결 문자열이 사용자 이름/암호를 지정했기 때문입니다. 생성했지만 생성 된 권한은 부여하지 않았습니다. 고마워 – justSteve

0

: 예를 들어

이 글을 읽고 (데이터베이스, 모델 및 코드 우선).

ObjectContext.CreateDatabase()을 실제로 호출하는 행을 찾습니다. 지원되는 ADO.NET 제공 중 하나가 사용되면 (SQL Server 또는 SQL Server CE 4.0) 필요한 SQL 문이 생성됩니다. 고전 Northwind를 예를 가정하면, 당신이 그 같은 찾을 수 있습니다 :이 사실 코드 - 첫 번째 애플리케이션 인 경우

NorthwindContext context = new NorthwindContext(); 
if (!context.DatabaseExists()) 
{ 
    context.CreateDatabase(); 
} 

를, "lalibi는"당신을 명시 적으로 요구하지 않는 기본적으로하는 초기화 전략에 대한 권리 데이터베이스를 작성하십시오. (하지만 내 추측은 실제로 내부적으로 내 것과 매우 유사한 성명을 사용한다는 것입니다.)

관련 문제