Frage

Ich verwende eine geschichtete Architektur mit dem Entity Framework als meine Datalayer mit einem Bündel von Endlagern auf denen die Linq-To-Entities-Abfragen enthalten. Die Datenschicht ist ein Projekt, neben, dass ich eine Service-Schicht und die Schnittstelle, die eine Website ist.

Ich möchte meine Website unter Angabe der Connectionstring für meine Entitätsmodell verantwortlich sein. Wie mache ich das?

Ich verwende eine Singleton-Methode zu meiner Einheit Repository zu erhalten, die innerhalb des Datalayer befindet.

Danke

War es hilfreich?

Lösung

Sie können die Verbindungszeichenfolge in der App.Config der DAL-Baugruppe in den Abschnitt der web.config connection erstellt kopieren.

können Sie halten die Verbindungszeichenfolge in dem Assembly-DLL, aber Sie sollten es mit der Website nicht bereitstellen.

Sie müssen die gesamte Verbindungszeichenfolge kopieren. Es soll wie folgt aussehen:

<add name="DataEntities" connectionString="metadata=res://*/DataModel.csdl|res://*/DataModel.ssdl|res://*/DataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=xxx;Initial Catalog=xxx;User Id=xxx;Password=xxx;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Es sollte enthalten alle Informationen, auf denen die Mapping-Dateien vorhanden sind.

Andere Tipps

In meinem Fall, obwohl ich L2S verwende statt L2E, aber die Empfehlung stehen soll. Ich habe eine verallgemeinern Config-Bibliothek, die aus einem XML-Datei-Feeds. Wenn ein Datenkontext erforderlich ist, hat jedes Datenobjekt ein Verfahren wie folgt aus. Zugegeben, könnte es leicht genug Templat werden, wenn Sie es vorziehen.

private static string _conStr = null;
private static CalendarsAndListsDataContext GetDataContext()
{
    if (_conStr == null)
    {
        _conStr = ConfigurationLibrary.Config.Settings().GetConnectionString("liveConString");
    }

    return new CalendarsAndListsDataContext(_conStr);
}

Nun größte Nachteil ist, Verbindungszeichenfolge Änderungen erfordern einen Neustart der Anwendung, aber in meinem Fall, das ist kein Problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top