애플리케이션 구성에서 상대 경로를 사용하여 SQL Express 데이터베이스 위치 확인
SQL Express 데이터베이스를 활용하는 C#용 단위 테스트 프로젝트에서는 다음이 필요합니다. 애플리케이션 위치에 상대적인 경로를 허용하는 연결 문자열을 정의합니다. 이는 다음과 같이 데이터베이스 파일에 대한 절대 경로를 명시적으로 지정하는 것보다 더 바람직합니다.
AttachDbFilename=C:\blah\blah\blah\yea\yea\yea\MyApplication\Databases\MyUnitTestDB.mdf
처음에는 |DataDirectory| 이러한 목적으로 채용될 수 있습니다. 그러나 이는 주로 웹 애플리케이션에 적용 가능하며 애플리케이션 구성 파일에서 데이터베이스 위치를 제어하기 위해 원하는 구성 설정과 잘 맞지 않을 수 있다는 사실이 밝혀졌습니다.
이 문제를 극복하기 위해 하이브리드 접근 방식이 구현되었습니다. , 제공된 솔루션에 설명된 대로:
app.config file:
<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
단위 테스트 클래스:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // rest of initialize implementation ... }
이 접근 방식은 연결 문자열의 상대 경로 정의와 DataDirectory 할당을 결합합니다. 단위 테스트 클래스의 속성을 사용하여 단위 테스트 중에 데이터베이스 파일이 응용 프로그램의 실행 파일을 기준으로 위치를 확인하는 동시에 프로덕션 환경에서 호스팅된 SQL 데이터베이스를 사용할 수 있도록 허용합니다. 환경입니다.
위 내용은 C# 단위 테스트에서 SQL Express 데이터베이스 위치에 대한 상대 경로를 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!