2 votes

Problème de chaîne de connexion en C#. Code EF d'abord et contexte db

Mon fichier de configuration avec la chaîne de connexion ressemble à ce qui suit

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="BlogDB"
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\users\tmks.dldp\documents\visual studio 2013\Projects\CodeFirstTest\CodeFirstTest\DB\Test.mdf;Integrated Security=True"/>
  </connectionStrings>
</configuration>

la chaîne de connexion ci-dessus est correcte ?

La chaîne de connexion ci-dessous a été passée au contexte de la base de données.

public class BloggingContext : DbContext
{
    public BloggingContext()
        : base(ConfigurationManager.ConnectionStrings["BlogDB"].ConnectionString)
{
}

    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; } 
}

J'obtiens cette erreur lorsque j'exécute le code. L'erreur est la suivante

Une exception non gérée de type System.Configuration.ConfigurationErrorsException' s'est produite dans System.Configuration.dll

Informations complémentaires : Le système de configuration n'a pas réussi à s'initialiser

dites-moi ce qui ne va pas dans le code ou la chaîne de connexion dans le fichier app.config ?

merci

0voto

Nagashree Hs Points 295

Donnez simplement base("BlogDB")

 public class BloggingContext : DbContext
 {
public BloggingContext()
    :      base("BlogDB")
  {
  }

public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; } 
 }

0voto

Reza Jenabi Points 116

Vous n'avez pas mis le nom de la connexion correctement. Vous pouvez modifier votre code comme indiqué ci-dessous

public class BloggingContext : DbContext
{
    public BloggingContext()
        : base("name=BlogDB")
    {
    }

    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }
}

Ou dirigez la chaîne de connexion

public class BloggingContext : DbContext
{
    public BloggingContext()
        : base(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\users\tmks.dldp\documents\visual studio 2013\Projects\CodeFirstTest\CodeFirstTest\DB\Test.mdf;Integrated Security=True")
    {
    }

    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X