web-dev-qa-db-fra.com

Chaîne de connexion Entity Framework dans App.Config

Je suis très nouveau dans Entity Framework, alors excuses-moi si cette question est fondamentale.

Je travaille actuellement sur un livre de texte Code First et j'ai créé une petite bibliothèque de classe (c #) et une application console. Le manuel indique que lorsque je l'exécute, Entity Framework construira automatiquement la base de données dans SQL Server. Ce n’est pas le cas et je crois que c’est parce que j’ai une instance nommée plutôt que l’instance par défaut\SQLExpress. Le manuel indiquait que je n'avais pas besoin d'une chaîne de connexion lors de l'utilisation de l'instance par défaut, mais comme je n'utilise pas d'instance par défaut, je suppose que j'ai besoin d'une chaîne connectionm dans App.Config. J'ai essayé de mettre une chaîne de connexion standard dans ce fichier, mais cela ne fonctionne pas. 

Voici l'intégralité du contenu de mon fichier App.Config

<?xml version="1.0" encoding="utf-8"?>
<configuration>  
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.Microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

Quelqu'un pourrait-il s'il vous plaît indiquer où se trouve la chaîne de connexion ou me dire si je m'y prends mal?.

METTRE À JOUR

Grâce à l'aide reçue jusqu'à présent, mon fichier App.Config se présente désormais comme suit:

<?xml version="1.0" encoding="utf-8"?>
<configuration>  
  <configSections>    
    <!-- For more information on Entity Framework configuration, visit http://go.Microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="Model" connectionString="Server=OFFICE-Acer\SQLE;Database=BreakAway;Trusted_Connection=True;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

Cependant, rien ne se passe si aucune base de données n'est créée comme auparavant.

2
PJW

Sous votre tag <configSections>, vous pouvez placer ceci

<connectionStrings>
    <add name="myConn" connectionString="theConnString" providerName="System.Data.SqlClient" />
</connectionStrings>

Et puis remplacez les valeurs par ce dont vous avez besoin

De plus, même si cela ne vous aide pas dans cette situation, pour éviter de devoir le faire manuellement à l'avenir, le package EntityFramework NuGet fonctionne à merveille. Vous devez simplement entrer l'URL de la base de données et votre identifiant, puis créer la chaîne de connexion complète pour vous dans votre configuration. fichier, crée votre edmx et vous permet d'importer les données de votre choix

4
Alfie Goodacre

Cela devrait le faire:

<?xml version="1.0"?>
<configuration>
    <connectionStrings>
        <add name="putYourEntityName" connectionString="putYourConnectionStringHere" providerName="System.Data.EntityClient"/>
    </connectionStrings>
</configuration>
2
rbr94
<configuration>
  <configSections>
      ... 
  </configSections>
  <connectionStrings>
    <add name="Name" connectionString="Data Source=servername; Initial Catalog = yourDbName ; Intgrated Security ="According to your requirement" providerName="System.Data.SqlClient" />

  </connectionStrings>

...

1
Rajput

Première chose que vous devez savoir. Si vous utilisez une bibliothèque de classes (.dll), le fichier Entity (.edmx) créé dans la .dll et vous appelez cette méthode à partir d'une application MVC (disposant d'un fichier web.config). La chaîne de connexion à l'intérieur de App.config ne sera jamais utilisée.

Donc, vous pouvez avoir la chaîne de connexion mappée sur le Web.Config (projet MVC), et même supprimer de App.Config. Il utilisera toujours le web.config.

0
Anderson Oki