1

다른 결과가있는 두 대의 컴퓨터에서 프로젝트를 테스트합니다. 한 컴퓨터에서는 SQL Express 또는 SQL Server를 실행하지 않고 다른 컴퓨터에서 제대로 실행되지만 SQL Server Express 인스턴스는 실행해야합니다. 여기에 몇 가지 세부 사항은 다음과 같습니다EntityFramework의 메모리 내 DB 컨텍스트가 SQL Server Express에 종속되는 이유는 무엇입니까?

  • 프로젝트가 사용하는 엔티티 프레임 워크 DB 컨텍스트가
  • 기본 연결 팩토리는 일부 데이터를하는 방법 시드를 무시하고 제공함으로써, 메모리에 내장되어
  • (NuGet 패키지 6.1.3) 기본적으로 SQL Express를 사용하는 EF을 방지해야하는, LocalDbConnectionFactory로 설정
다음

엔티티 프레임 워크 구성 섹션입니다 :

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
     <parameters> 
     <parameter value="v11.0" /> 
     </parameters> 
    </defaultConnectionFactory> 
    </entityFramework> 

지금까지 그렇게 좋았습니다. 이제는 많은 오래된 것들이 설치된 녹슨 Windows 8.1 컴퓨터에서 프로젝트를 실행하면 (Visual Studio 2013, SQL Server와 SQL Express, 이전 버전의 .NET 프레임 워크 등) 모든 것이 정상적으로 작동합니다. 그러나 Visual Studio 2017만으로도 새로운 Windows 10 시스템에서 동일한 프로젝트를 실행하려고하면 SQL Server에서 응답을받지 못하는 긴 시간 초과 및 예외가 발생하면 오류가 발생합니다. SQL Express를 설치하고 TCP/IP 및 포트 1483을 활성화하고 문제를 해결하기 시작했습니다.

Entity Framework에서 SQL Server 종속성이 끈적 거리는 현상을 경험 한 것은 이번이 처음이 아니지만 다른 환경에서 실행되는 두 개의 동일한 프로젝트 인스턴스에서이를 보여줄 수 있습니다. 다른 하나 (신선한 최신 최신)는 원하지 않는 의존성을 끌어 낸다.

+1

SQL Server LocabDB 버전 11 이상이 설치되어 있습니까? 여기에 설명 된 SQL Express의 아주 최소한의 버전입니다. https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-2016-express-localdb – jessehouwing

+0

아니요 나는 이것을 신선한 기계에 설치하지 않았다. 아마도 이것은 속일 수 있습니다. 팁 고마워! –

+0

예, 새로 설치 한 다른 컴퓨터에서 작동했습니다. –

답변

1

SQL Server LocabDB 버전 11을 설치할 것을 제안한 @jessehouwing 덕분에 SQL Server 또는 SQL Server Express가없는 새로운 시스템에서 작동합니다.