2014-01-08 3 views
0

그냥 호기심. 새 MVC5 프로젝트가 만들어지면 왜 2 개의 연결 문자열이 생깁니 까?MVC 5의 DefaultConnection에 2 개의 연결 문자열이있는 이유는 무엇입니까?

Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-Application1.Web 
-20140107075640.mdf; 

Initial Catalog=aspnet-Application1.Web-20140107075640;Integrated Security=True" 

그 이유는 무엇입니까? 또한 그 번호는 20140107075640 인 무엇입니까? 내가 프로젝트를 만들 때

+1

질문에 하나의 연결 문자열 만 표시됩니다. –

답변

1

나는 단지 하나의 연결 문자열을 참조하십시오

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-WebApplication7-20140107051904.mdf;Initial Catalog=aspnet-WebApplication7-20140107051904;Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 
</connectionStrings> 

랜덤 번호 (또는 타임 스탬프, 내가 생각하는) 데이터베이스가 고유 한 이름되었는지 확인하는 것입니다. 예전에 프로젝트 Foo를 만들고 SQL Server LocalDB에 새 데이터베이스를 만든 경우 Foo라는 두 번째 프로젝트를 만들면 결국 데이터베이스를 공유하게됩니다. 일반적으로 이것은 바람직하지 않으므로 연결 문자열에 임의 화 토큰을 삽입하여 고유하게 유지합니다. 언제든지 초기 카탈로그 값을 원하는대로 지정할 수 있습니다.

+0

이 나타납니다. 그렇다면 왜'AttachDbFilename'과'Initial Catalog'를 사용해야할까요? – Richard77

+0

@ Richard77 AttachDbFilename은 SQL 기본 데이터 디렉토리 대신 DB를 프로젝트 폴더 (App_Data 아래)에 배치하는 것입니다. InitialCatalog는 친숙한 이름을 붙이기위한 것입니다 (물론, 임의의 숫자를 얻을 수있는만큼 친절합니다). 이 중 하나를 제거하고 기능을 유지할 수 있지만 둘 다 유지하지 않는 이유는 무엇입니까? – Jimmy

+0

너무 많은 의미가 있습니다. 정말 고맙습니다. – Richard77

관련 문제