2016-09-08 2 views
0

Entity Framework 마이그레이션을 사용하여 SQL Server의 로컬 (기본) 인스턴스를 사용하려고합니다.MS SQL Server에서 Entity Framework 마이그레이션 사용

엔티티 프레임 워크 내 구성은 이것이다 : 지금까지 내가 문서, 같은 이름의 연결 문자열의 이름을 읽을

namespace Demo.Data 
{ 
    public class MyContext : DbContext 
    { 
    } 
} 

을 :

<configuration> 
    <connectionStrings> 
    <add name="Demo.Data.MyContext" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=(local);Initial Catalog=Connector;  
     Integrated Security=True;MultipleActiveResultSets=True" /> 
    </connectionStrings> 
    <configSections> 
    <section name="entityFramework" 
     type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 
</configuration> 

컨텍스트 클래스는 이것이다 그 맥락과 함께 EF가 발견 할 수있게합니다.

그러나 나는 명령을 실행할 때 :

PM> Update-Database -verbose 

결과는 이것이다 :

질문은
Using StartUp project 'Demo'. 
Using NuGet project 'Demo.Data'. 
Target database is: 'Demo.Data.MyContext' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention). 

- 왜 타겟팅 주장 않습니다 \ SQLEXPRESS를.?

EF가 로컬 SQL Server를 가리 키도록 app.config를 어떻게 구성해야합니까?

엔티티 프레임 워크 마이그레이션 패키지를 포함하는이 프로젝트는 Visual Studio에서 "시작 프로젝트"로 선택해야합니다 :

+1

컨텍스트의 생성자에서 연결 문자열을 추가 했습니까? https://msdn.microsoft.com/en-us/data/jj592674.aspx –

+0

구성에 연결 문자열을 추가하고 여기에서 내 게시물을 업데이트했습니다. 결과는 여전히 동일합니다 :-( –

+0

데이터 소스 변경 = (로컬); 원하지 않는 경우 다른 것으로. \ SQLEXPRESS –

답변

0

음, 분명히는 오후 콘솔을 사용하여 작업을 얻을 수있는 트릭이있다. PM 콘솔에서 프로젝트를 "기본 프로젝트"로 선택하는 것만으로는 충분하지 않습니다.

는 또한 콘솔의

PM> Update-Database -StartUpProjectName "Demo.Data" 

스위치를 사용하여이 설정할 수 있습니다.

관련 문제