새로운 디자인 패턴을 구현하는 방법을 배우기위한 연습으로 excellent series of blog posts by Kazi Manzur Rashid을 느슨하게 따르고 있지만 처음부터 문제가 있습니다.ObjectContext에서 상속 한 객체의 인스턴스를 생성 할 때 ArgumentException을 발생했습니다.
나는 기본적으로 Database
, RepositoryBase
및 RepositoryBaseTests
클래스에 대한 자신의 코드를 복사 한,하지만 테스트를 실행하려고 할 때, 나는 것을 확인했다 디버거를 통해
Unable to create instance of class Booking.Infrastructure.EntityFramework.Repositories.Tests.RepositoryBaseTests. Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0..
를라는 오류 메시지가 얻을 예외는 다음과 같이 보이는 Database
클래스의 생성자에 발생합니다 :
public Database(
IConfigurationManager configurationManager,
string connectionstringName)
: base(
GetConnectionString(configurationManager, connectionstringName),
"BookingEntities")
{ // Nothing happens here }
base
생성자를 호출 할 때 오류가 발생합니다
, 나는 열심히했다면 현재 보내고있는 값은 다음과 같습니다.
: base("Dummy connStr", "BookingEntities")
왜 작동하지 않습니까?
OK :
유효한 EF 연결 문자열은 같습니다. 글쎄, 나는 연결 문자열이 유효하지 않다고 생각할 수 있지만, 필자는 어쨌든이 기사의 예제에서와 같이해야한다고 생각했다. 어쨌든 데이터베이스를 아직 설정하지 않았으므로 제공 할 연결 문자열이 없습니다. 거기에 모든 필요한 부분을 가지고 있지만 실제로 아무것도하지 않는 더미 문자열을 구축하는 (쉬운) 방법이 있습니까? –
Northwind.mdb 또는 다른 데모 DB를 사용하십시오. –
문제는 내가 저장소에서 단위 테스트를하고 있다는 것입니다. 데이터베이스에 연결하고 싶지 않습니다. 단지 저장소가 올바른 'Database' 개체를 가져 오는 것을 확인하십시오. –