Entity Framework Core 1.0 Chaînes De Connexion

Nous travaillons sur une grande varient ASP.NET Core, MVC 1.0 de l'application. Nous avons 4-niveaux de chacun de nos applications comme suit:

  1. DTO
  2. Référentiel (Entity Framework Code First)
  3. Service (Logique)
  4. MVC (UI-MVC)

Actuellement, dans nos dépôts, gérer toutes les opérations de base de données, nous avons codé en dur à la base de données de chaînes de connexion dans le DbContext comme suit:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {

    optionsBuilder.UseSqlServer("Data Source=somedatabase.database.windows.net;Initial Catalog=database;Integrated Security=False;User ID=username;Password=password;Connect Timeout=60;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;MultipleActiveResultSets=true");

}

Ce projet est à l'extérieur de la MVC projet autonome ASP.NET Core 1.0 projet. Il dispose également d'un Programme vide.cs fichier dans ce qui semble être requis pour exécuter le code-à-base de données des lignes de commande (dotnet ef migrations ajouter et dotnet ef base de données mise à jour).

La raison pour laquelle nous avons une codés en dur chaîne de connexion dans le DbConext est parce que lorsque nous utilisons le code suivant, nous obtenons un objet de référence non définie à une instance d'un objet d'exception, lors de l'exécution de la dotnet ef commandes.

  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {

    optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["StandardDatabase"].ConnectionString);

  }

Cependant, puisque nous avons un Programme.cs, si nous ajoutons une de Débogage.WriteLine pour la chaîne de connexion et d'exécuter le projet, il ne retour la ou les connexions de la chaîne et si nous mettons de la chaîne de connexion dans le appsettings.fichier json dans l'INTERFACE utilisateur, l'INTERFACE utilisateur va se connecter avec succès.

LA QUESTION:
La mentionnés ci-dessus de la pile est ce que nous utilisons pour plusieurs "Micro-Applications", ce qui signifie que nous avons plusieurs projets qui se connecter à plusieurs bases de données. Nous voulons aussi profiter de Développement, de Production et de transfert de chaînes de connexion.

Si nous utilisons le Gestionnaire de Configuration de la Chaîne de Connexion, tout est bon pour les opérations journalières; cependant, lorsque nous voulons utiliser Entité Cadres de code de base de données de lignes de commande, nous avons besoin d'aller à chaque dépôt que nous voulons mettre à jour et modifier le DbContext à une codés en dur chaîne de connexion, exécutez les commandes, puis les modifier de nouveau à faire, ce qui devient assez gênant.

LA QUESTION:
Sommes-nous juste de faire ce mal, est-il une pratique recommandée pour la création d'une Entité Framework Core 1.0 pile, ce qui nous permet de ne pas manuellement changer le DbContext, mais de tirer avantage des fichiers de configuration à travers le conseil d'administration?

N'importe quelle direction serait appréciée!

Il n'y a pas de MVC6 plus!!! blogs.msdn.microsoft.com/webdev/2016/01/19/...
Créer usine méthode (ou une usine de classe) qui gère les connexions et retour Dbcontext
Pourquoi n'utilisez-vous pas normal ASP.NET configuration de Base au lieu d'utiliser ConfigurationManager?
Je l'ai fait à l'origine, essayez d'utiliser le ASP.NET configuration de Base, mais a eu des problèmes de les consommer dans un fichier de classe vs un environnement hébergé. J'ai été en utilisant les lignes directrices de la docs.asp.net/en/latest/fundamentals/configuration.html cependant, je n'ai pas passé trop de temps sur ce, je vais donc essayer de nouveau. J'ai également disposer d'une unité de travail dans chaque référentiel, donc peut-être que je vais essayer de manipuler les connexions.

OriginalL'auteur Jason Martin | 2016-08-16