Ich habe ein Projekt, das für eine einzelne Datenbank funktioniert. Jetzt muss ich es mit einer zweiten (innerhalb des gleichen Projekts) arbeiten, die die gleiche Datenstruktur hat. Daher verwende ich das gleiche Modell und versuche, den Datenverbindungsnamen beim Aufruf meiner Datenkontextklasse anzugeben. Leider erhalte ich folgende Fehlermeldung:Verwenden von zwei verschiedenen Datenbanken mit meinem Modell - Absturz auf Konstruktor
The type String cannot be constructed. You must configure the container to supply this value.
Hier ist der Code, den ich versuchte:
public UniversityContext(string context)
: base(context){
}
Als ich nach Antworten suchte ich this Antwort für diesen Fehler gefunden, und es empfiehlt, eine parameter- mit weniger Konstruktor. Ich habe das versucht und immer noch das gleiche Problem.
Hier ist es mit dem Parameter losen Konstruktor:
public UniversityContext()
: base("UniversityConnection")
{
}
public UniversityContext(string context)
: base(context)
{
}
Falls es darauf ankommt ich Unity verwende.
Hutchonoid, vielen Dank für Ihre Antwort, aber wo würde habe ich die Injektion Konstrukteur? Und wie bekomme ich es ändern je nach der unterschiedlichen Verbindung. Übrigens habe ich den ursprünglichen Beitrag ein wenig aktualisiert (den Verbindungsnamen aktualisiert). – djblois
@djblois Kein Problem, ich habe normalerweise einen Bootstrapper, der alle registrierten Typen konfiguriert. Sie können den Wert aus web.config lesen oder zur Laufzeit abhängig von Ihren Anforderungen bestimmen. Dies ist ein guter Artikel: https://msdn.microsoft.com/en-us/library/dn178463%28v=pandp.30%29.aspx?f=255&MSPPError=-2147217396 – hutchonoid