Maison >développement back-end >C++ >Comment spécifier l'emplacement du fichier MDF SQL Express de manière relative dans les applications .NET ?

Comment spécifier l'emplacement du fichier MDF SQL Express de manière relative dans les applications .NET ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-28 14:34:18579parcourir

How to Specify SQL Express MDF File Location Relatively in .NET Applications?

Chaîne de connexion SQL Express : spécification de l'emplacement du fichier MDF par rapport à l'application

Lorsque vous travaillez avec des bases de données SQL Express dans des tests unitaires C#, cela peut être peu pratique de spécifier le chemin absolu du fichier MDF dans la chaîne de connexion. Au lieu de cela, vous préférerez peut-être utiliser un chemin relatif ou une variable.

Applications Web .NET Core :

Dans les applications Web utilisant .NET Core, vous pouvez exploiter DataDirectory variable pour référencer dynamiquement le répertoire de données de l'application. Ce répertoire se trouve généralement par défaut sur wwwrootApp_Data. Vous pouvez configurer la chaîne de connexion dans appsettings.json comme suit :

{
  "ConnectionStrings": {
    "MyConnectionString": "Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes"
  }
}

Applications de bureau .NET Core :

Pour les applications de bureau dans .NET Core, le DataDirectory la variable n'est pas prise en charge. Au lieu de cela, vous pouvez définir la propriété DataDirectory dans le dispositif de test unitaire ou la méthode de configuration :

[TestInitialize]
public void TestInitialize()
{
    AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"));

    // Rest of initialization logic
}

Avec cette configuration, vous pouvez spécifier la chaîne de connexion dans appsettings.json à l'aide de la variable DataDirectory :

{
  "ConnectionStrings": {
    "MyConnectionString": "Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes"
  }
}

Dans les deux cas, assurez-vous que le répertoire Databases est inclus dans le projet et qu'il contient le fichier MDF nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn