Frage

Ich bin mit LINQ to SQL-Datenbank aus meiner Anwendung zu verbinden. Wenn ich Umgebung am Wechsel von der Produktion bis Inszenierung, kann ich meine Verbindungszeichenfolge in web.config aktualisieren. Aber es gibt noch einen Wert, den ich brauche, wenn Umgebungsänderungen zu aktualisieren. Das ist Datenbankname. In LINQ to SQL Designer-Datei, Datenbankname wird als Attribut erwähnt wie -

[System.Data.Linq.Mapping.DatabaseAttribute(Name="somedbname")]

Wie kann ich Wert von Namen hole dynamisch von einer Config-Datei?

Jede Hilfe ist wirklich zu schätzen.

War es hilfreich?

Lösung

als auf dem genannten http://msdn.microsoft. com / en-us / library / system.data.linq.mapping.databaseattribute.name.aspx

„Die Database wird nur verwendet, wenn die Verbindung selbst nicht den Datenbanknamen nicht angibt.“ so können Sie dieses Attribut löschen und alles ist gonna Arbeit gut!

Andere Tipps

Ich habe eine Wrapper-Klasse verwendet, um einen Kontext entlang der Linien zu schaffen

public DataContext Context = new DataContext(SqlConnectionString); //much simplified

ich dieses Problem behoben, indem Sie die .dbml Datei außerhalb von Visual Studio (der Designer scheint nicht den Zugang zum DatabaseAttribute zu ermöglichen) und immer der Namen Eigenschaft los hier:

<Database Name="BadName" Class="OutputDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">

(beachten Sie, dass die akzeptierte Antwort ist nicht mehr richtig: dieses Attribut überschreibt meine Verbindungszeichenfolge)

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