2016-12-09 6 views
0

Ich versuche, die Indexansicht eines EF-Controllers in meinem ASP.NE MVC-Projekt zurückzugeben. Der Fehler ist auf Dänisch, aber ich werde versuchen zu übersetzen. "Server nicht gefunden oder es wurde nicht darauf zugegriffen. SQL-Netzwerkschnittstellen, Fehler: 50. Fehler in der lokalen Datenbanklaufzeit. Kann keine automatische Instanz erstellen."Verbindungsfehler beim Zurückkehren der Ansicht vom EF-Controller in der ASP.NET MVC-Anwendung

Dies ist, wo der Fehler im Code befindet:

public ActionResult Index() 
    { 
     return View(db.Udstillingsmodels.ToList()); 
    } 

Dies ist die Modellklasse:

public class Udstillingsmodel 
{ 
    public int ID { get; set; } 
    public string titel { get; set; } 
    public string beskrivelse { get; set; } 
    public string billedeSti { get; set; } 
} 

public class UdstillingsmodelDBContext : DbContext 
{ 
    public DbSet<Udstillingsmodel> Udstillingsmodels { get; set; } 
} 

Dies ist die zusätzliche Verbindungszeichenfolge in Web.config:

<add name="UdstillingsmodelDBContext" 
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Udstillingsmodels.mdf;Integrated Security=True" 
providerName="System.Data.SqlClient" /> 

Ich habe alle Referenzen hinzugefügt, die benötigt werden, damit EF funktioniert, also bin ich mir nicht sicher, was dieses Problem verursacht auftreten. Es tut mir leid, wenn ich nicht genug Informationen zur Verfügung stelle, ich werde versuchen, so gut wie möglich zu helfen.

+0

Welche Version von 'LocalDB' haben Sie installiert? Haben Sie 'v12.0' in Ihrer Verbindungszeichenfolge anstatt' v11.0' versucht? – DavidG

+0

Der Dbcontext muss einen Konstruktor mit Standardverbindungszeichenfolge haben. –

+0

@RajshekarReddy Nein, es benötigt keinen, es verwendet standardmäßig den Klassennamen des Kontextes. – DavidG

Antwort

0

Sie müssen dem DbContext mitteilen, welche Verbindungszeichenfolge verwendet werden soll. Versuchen einen leeren Konstruktor zu Ihrem Kontext hinzugefügt, die die Connectionstring auf die Basisklasse passiert:

public class UdstillingsmodelDBContext : DbContext 
{ 
    public UdstillingsmodelDBContext() : base("UdstillingsmodelDBContext") {} 
    public DbSet<Udstillingsmodel> Udstillingsmodels { get; set; } 
} 
+0

Verwendet es nicht den Namen des Kontextes, wenn es nicht übergeben wird? – DavidG

+0

Nach Überprüfung zu bestätigen, müssen Sie dies nicht so. – DavidG

+0

Guter Punkt, du hast recht David. Ich denke, das ist keine Lösung dann :( –

Verwandte Themen