데이터베이스를 업데이트하기 위해 코드를 처음으로 마이그레이션 할 때 Entity Framework를 사용하는 프로젝트에서 작업하고 있습니다. 나는이 프로젝트를 다른 컴퓨터에서 시작했는데 아주 잘 진행되었다. 이제 다른 컴퓨터에서 코드를 확인했습니다. 이 컴퓨터에는 데이터베이스가 없으므로 update-database 명령을 nuget에서 실행했습니다. 이전 마이 그 레이션을 적용하고이 시스템에 새 데이터베이스를 작성해야하지만 다음과 같은 오류가 표시됩니다. 로컬 SQL Express 인스턴스가 다음 코드 먼저 해당 인스턴스 만약에 데이터베이스를 만들었습니다 (비주얼 스튜디오 2010 기본적으로 설치)를 사용할 수있는 경우Entity Framework : 코드 첫 번째 마이그레이션을위한 DataSource를 변경할 수 없습니다.
나는
을 말한다 this MSDN 기사를 읽고 SQL Express를 사용할 수없는 경우 Code First는 LocalDb (Visual Studio 2012와 함께 기본적으로 설치됨)를 사용하려고 시도합니다.
내가 처음 컴퓨터에서 마이 그 레이션을 사용할 때 데이터 소스로 SQLEXPRESS 인스턴스가있는 데이터베이스를 만들었고 현재 컴퓨터에 마이 그 레이션이 없으므로 데이터베이스를 만들 수 없습니다. 그래서 EntityFramework의 DataSource를 LAPTOP-HD618J49 인 현재의 SQL Server 인스턴스로 변경하려고합니다. 이를 위해 app.config에서이 인스턴스로 하드 코딩 된 연결 문자열을 작성하려고했지만 데이터 컨텍스트 클래스에서 ContextName을 변경했지만 아무런 효과가 없습니다. 제가 누락 된 부분에 대해 설명해주십시오.
[here] (http://www.entityframeworktutorial.net/code-first/database-initialization-in-code-first.aspx)에 설명 된대로 컨텍스트의 생성자에서 연결 문자열 이름을 지정하는 것이 좋습니다. . 그런 다음 해당 연결 문자열을 구성 파일에 추가하십시오. 컨텍스트의 이름을 변경할 필요가 없습니다. –
@SteveGreene 나는 그것을 시도했다. 여전히 같은 오류. –
먼저 VS (또는 SQL Management Studio)에서 SQL Server Object explorer를 사용하여 원하는 데이터베이스에 연결하고 액세스 권한이 있는지 확인합니다 (기본적으로 원격 데이터베이스에 액세스 할 수 없음). 둘째, 오류 메시지가 여전히 '. \ SQLEXPRESS'를 참조합니까? 즉, LAPTOP-HD618J49에 대한 연결 문자열을 사용하고 있지 않음을 나타냅니다. –