Chaîne de connexion EF 4.1 le premier code SQL compact dans l'application windows form

J'ai créé une application windows form:

  1. Une présentation de la bibliothèque avec plusieurs formes de windows
  2. Une bibliothèque de classe avec une couche de données
  3. Une bibliothèque de classe pour accéder à une base de données

Je suis en utilisant EntityFramework 4.1 avec l'Approche du Premier Code et SQL Compact 4.0 base de données.

J'ai créé une chaîne de connexion dans l'application.fichier de config dans le projet de bibliothèque de classes utilisé pour se connecter à la base de données. Le problème, c'est que la chaîne de connexion n'a apparemment pas d'influence sur la création de base de données. Je veux dire que tout fonctionne bien avec le programme, mais même si je spécifier un emplacement pour la base de données, cela n'a aucun effet!

Suis-je écrire dans la bonne application.config?
Ai-je besoin d'initialiser ma classe DbContext d'une manière spécifique? (aujourd'hui, je ne passe pas toute la chaîne de connexion dans le constructeur)

DbContext classe:

public class MyDB : DbContext
{
    public DbSet<ContactPerson> ContactPersons { get; set; }

    public DbSet<Customer> Customers { get; set; }

    public DbSet<Project> Projects { get; set; }

    public DbSet<Quotation> Quotations { get; set; }

    public MyDB()
    : base("MyDatabase")
    {

    }
}

App.config chaîne de connexion:

<add name="MyDatabase" connectionString="Data Source=MyDB.sdf" 
providerName="System.Data.SqlServerCE.4.0">
Je viens de remarquer que l'application est la création de la base de données dans SQL server express plutôt que dans un fichier. Pourquoi est-ce arrivé?

OriginalL'auteur Francesco | 2011-07-15