Frage

Ich bin locker im Anschluss an ein eine ausgezeichnete Reihe von Blog-Beiträge von Kazi Manzur Rashid als Lernübung für das Lernen, wie man implementieren einige neue (für mich zumindest) Design-Muster, aber ich bin immer Probleme von Anfang an.

Ich habe kopiert grundsätzlich seinen Code für die Database, RepositoryBase und RepositoryBaseTests Klassen, aber wenn ich versuche, um die Tests zu laufen, bekomme ich eine Fehlermeldung,

  

Kann nicht Instanz der Klasse Booking.Infrastructure.EntityFramework.Repositories.Tests.RepositoryBaseTests erstellen. Fehler: System.Reflection.TargetInvocationException: Ausnahme wurde durch das Ziel für einen Aufruf ausgelöst wurde. ---> System.ArgumentException: Format der Initialisierungszeichenfolge entspricht nicht der Spezifikation an der Position index 0 ..

Durch den Debugger ich überprüft habe, dass die Ausnahme auf dem Konstruktor für die Database Klasse geworfen wird, die wie folgt aussieht:

public Database(
    IConfigurationManager configurationManager, 
    string connectionstringName)
: base(
    GetConnectionString(configurationManager, connectionstringName), 
    "BookingEntities")
{ // Nothing happens here }

Der Fehler wird ausgelöst, wenn die base Konstruktor aufrufen, und wenn ich würde hart Code die Werte, die ich zur Zeit in mich senden, es würde wie folgt aussehen:

: base("Dummy connStr", "BookingEntities")

Warum funktioniert das nicht?

War es hilfreich?

Lösung

"Dummy connStr" ist keine gültige EF Verbindungszeichenfolge.

Eine gültige EF-Verbindungszeichenfolge wie folgt aussieht:

connectionString="metadata=res://*/Data.Model.csdl|res://*/Data.Model.ssdl|res://*/Data.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=SERVERNAME\SQLDEV2008;Initial Catalog=DBName;Integrated Security=True;MultipleActiveResultSets=True""
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top