Oui, | DataDirectory | Application Web permettant de sélectionner le répertoire App_Data de l'application Web.
Dans une non application Web, selon le .NET Framework, il pourrait être utilisé et modifié à l'aide aussi AppDomain.SetData
Mais vous avez deux autres posiblities pour créer la connexion:
1 .- Utiliser un chemin relatif:
String con ="... AttachDbFilename=Databases\MyUnitTestDB.mdf ... ";
2.- obtenir le chemin d'application et ajouter à la chaîne.
Dans Application Windows, vous pouvez utiliser Application.StartupPath
String con= " ... AttachDbFilename=" + Application.StartupPath + "\Databases\MyUnitTestDB.mdf ... ";
En fonction du type de applicaiton ou le mode de lancement, vous avez obtenu des propriétés différentes. Ex:
- Application.StartupPath - Le chemin de démarrage de l'application exe qui commence l'application
Application.ExecutablePath - le chemin de départ un nom de l'application exe que l'application stats Mais pour utiliser Application, vous devez inclure System.Windows.Forms qui n'est pas inclus par exemple dans les applications console.
System.IO.Path.GetDirectoryName (.. System.Reflection.Assembly.GetExecutingAssembly() getName() CodeBase) - Ce obtient le chemin de l'ensemble courant « dll, exe, ... "N'est pas affecté par le type d'application, les changements de chemin, ... Toujours retourner le répertoire lorsque l'Assemby réside.
Environnement.CurrentDirectory - le répertoire en cours. Cela peut être modifié par exemple si vous naviguez dans des dossiers.
Vous pouvez trouver plus sur les différentes options de chaîne de connexion ici http://www.connectionstrings.com/sql-server-2005
Pour en savoir plus sur le terme ** DataDirectory **: http://msdn.microsoft.com/en-us/library/cc716756.aspx (recherchez "" DataDirectory ", c'est à la fin du document) –