2017-01-24 5 views
0

웹 API에서 작업 중이며 App_Data 폴더에 로컬 데이터베이스가 있어야합니다. 먼저 Entity Framework 코드를 사용하지만 App_Data에 데이터베이스를 만들지 않습니다.Entity Framework에서 App_Data에 데이터베이스를 만들지 못함

내가 프로젝트 메뉴에서 쇼 모든 파일을 사용

<connectionStrings> 
    <add name="TestDBContext" 
     connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=TestDB;Integrated Security=True;MultipleActiveResultSets=True;AttachDBFilename=|DataDirectory|TestDB.mdf;User Instance=True" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

와 즐 즐 즐

하지만 데이터베이스가

에서 생성되고 있습니다 :

여기 내 연결 문자열입니다

어떻게 수정합니까?

+0

연결 문자열에'AttachDbFileName = '섹션을 추가하십시오. [참고] (https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110) .aspx # localdb) –

답변

0

SQL LocalDB를 설치하여 문제가 해결되었습니다.

1

네, 기본값입니다. 두 가지 방법으로 해결하기 :

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> 
    <parameters> 
     <parameter value="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=TestDB;Integrated Security=True;MultipleActiveResultSets=True;AttachDBFilename=|DataDirectory|TestDB.mdf;User Instance=True" /> 
    </parameters> 
    </defaultConnectionFactory> 
</entityFramework> 

https://msdn.microsoft.com/en-us/data/jj556606

+0

안녕 친구! 나는 당신의 코드를 사용하지만 작동하지 않습니다. 실제로 새로운 데이터를 삽입하려고 시도하는 동안 오류가 발생합니다. 오류 텍스트는 다음과 같습니다. 시스템이 지정한 파일을 찾을 수 없습니다. – Hooman

+0

아마 데이터베이스 생성시 발생합니다. SQL Express 전용 인 User Instance = True를 제거해보십시오. –

+0

또한 AttachDBFilename = | DataDirectory | \ TestDB.mdf에 백 슬래시를 추가하십시오 –

0
를 참조하십시오

public ApplicationDbContext() 
     : base("TestDBContext") { } 

2) 설정에 기본 연결 팩토리를 추가

1) 사용자의 컨텍스트의 생성자에 연결 문자열을 추가

일반적으로 app config의 설정을 'AttachDbFileName'으로 변경해야합니다. 그렇지 않은 경우 기본값은 SQL Server Express 인스턴스입니다. 일반적으로 당신은 단지 연결로 모드를 설정할 수 있습니다이 해결 : 너무 당신을 위해 여기

<add name="ConnectionStringName" 
    providerName="System.Data.SqlClient" 
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" /> 

가 연결에 MS의 페이지입니다 : https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx#sqlce

\ 내가 심각하게 제안하지만이 작은 소형이 아닌 경우 당신은 첨부 데이터베이스를하지 않는 작은 성장할 것입니다 애플 리케이션. 데이터베이스가 거의 항상 작다는 것을 알지 못한다면 큰 규모의 앱을 배포하고 일반적으로 나쁜 방식으로 배포하는 것은 좋지 않은 아이디어입니다. 그래도 내 두 센트.