2017-06-04 3 views
-3

Je suis étudiante. Et ceci est mon premier projet de niveau de production. Je développe une application WPF en utilisant Entity Framework, qui sera exécuté uniquement sur un onglet. J'ai un problème dans le choix d'une base de données. Étant donné que cette application ne peut être utilisée que sur un seul appareil et qu'aucune base de données cloud ne peut être utilisée, quelle serait la meilleure option?Chaîne de connexion dans EF

Si j'utilise mssql, la chaîne de connexion de mon environnement de développement et de l'environnement de production diffère. Ai-je tort? Si j'ai raison, quelle serait la solution pour avoir une chaîne de connexion qui fonctionne de manière identique dans les deux environnements?

Merci d'avance.

Répondre

0

Habituellement, vous vous retrouvez toujours avec une chaîne de connexion différente pour le développement (ex: sans mot de passe) et pour la production (ex: mot de passe long).

C# gère cela avec App.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <connectionStrings> 
    <add name="yourname" connectionString="..." providerName="MySql.Data.MySqlClient" /> 
    </connectionStrings> 
</configuration> 

Et puis vous ajouterez un fichier de transformation qui modifie certaines valeurs de votre App.config en fonction de l'environnement où vous le déployer.

Généralement, il y a un fichier App.Release.config qui met à jour le connectionString lors de sa construction en mode de sortie (mode versus débogage)

<?xml version="1.0" encoding="utf-8"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
<connectionStrings> 
    <add name="yourname" 
     connectionString="productionConnectionStringHere" 
     xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> 
    </connectionStrings> 
</configuration> 

Quant à la base de données qui vous allez utiliser: Il n'a pas vraiment d'importance. Jetez un oeil à Sqlite. Ou Mongo si vous n'avez pas de données tabulaires.

+0

Comment déterminer la chaîne de connexion de production – Niroshan

+0

Les chaînes de connexion diffèrent de la base de données par rapport à la base de données. Vous les trouverez tous documentés sur [connectionstrings.com] (https://www.connectionstrings.com/) – Laoujin