Entity Framework 6 legen Sie die Verbindungszeichenfolge im code
Ich habe eine dll, die mit dem Entity Framework 6 zu tun, einige Datenbank-Operationen. Ich bin mit einem database-first-Ansatz.
Das Modell und alles, was über die Entity Framework, wie der connection-string in der App.die Konfiguration, die erstellt wurden, über den wizzard in Visual Studio.
Damit ich die kompilierte dll und steckte es zusammen mit den entsprechenden .config in den Ordner, wo die Anwendung über die dll erwartet.
Alles funktioniert bis ich zu dem Punkt, wo eine tatsächliche Datenbank aufgerufen wird. Dort bekomme ich die Fehlermeldung:
Nicht finden Verbindungszeichenfolge für MyDatabaseEntity
Den automatisch generierten connectionstring ist, wie gesagt, in der config-Datei der dll. Ich kann nicht die App.config der Anwendung.
Aber die Anwendung übergibt ein Objekt, das alle Informationen die ich benötige zum erstellen der Verbindungszeichenfolge mich.
Ich bin auf der Suche nach einem Weg, um die Verbindungszeichenfolge im code, ohne sich auf eine config-Datei.
Alle tutorials die ich finde für ein Datenbank-first-Ansatz verwenden Sie diese Methode, wenn.
Fand ich einen Beitrag hier, der sagt einfach die Verbindungszeichenfolge als parameter beim erzeugen des Objekts wie
MyDatabaseEntities = new MyDatabaseEntities(dbConnect);
aber MyDatabaseEntities nicht über einen Konstruktor keine Parameter
public partial class MyDatabaseEntities : DbContext
{
public MyDatabaseEntities()
: base("name=MyDatabaseEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<MyTable> MyTable { get; set; }
}
- Wie machen wir das mit DB-Ersten. Sie überschreiben alle änderungen in meiner Datei?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie etwa:
}
Dann initialisieren Sie Ihre Datenbank wie du vor hast:
"
verwenden Sie einfache Anführungszeichen'
statt.Habe ich diese Lösung mit folgenden code, kann ich fest Verbindungszeichenfolge mithilfe von C# - code ohne Verwendung der config-Datei.
und mit DbContext mit wie diese:
ProviderConnectionString
können SiesqlString.ConnectionString
.Ich hatte das ähnliche Problem. Meine Edmx und App.Config wurde in einem anderen Projekt. Mein Start-Projekt war anders, hatte 3 verschiedene Verbindungszeichenfolgen, die wir brauchen, zu wählen, die eine on-the-fly je nach Umgebung. Deshalb konnte Sie nicht verwenden, eine Feste Verbindung Zeichenfolge. Ich erstellte eine partielle Klasse, die überlastung der Kontext.cs mit der gleichen namespace. Folgendes war mein default-Kontext.cs;
Meine partielle Klasse überlast;
Schließlich ist, wie meine Verbindung Saiten wurden nicht für EF, ich Sie konvertiert eine EF-Verbindungszeichenfolge.
Schließlich die Berufung
Vielen Dank . Ich änderte wenig für Code First EF6.