4.1 EF exception“, Le fournisseur n'a pas retourné un ProviderManifestToken chaîne”

Je suis en train de reproduire un exemple trouvé sur le site MSDN. Je suis à l'aide de ASP.NET et EF 4.1 (CTP?). J'ai utilisé NuGet pour installer le paquet EntityFramework.

J'obtiens cette erreur: The provider did not return a ProviderManifestToken string ...
et la base de données n'est jamais créé.

Voici ma chaîne de connexion:

<add name="HospitalContext"
   connectionString=
   "data source=.\SQLExpress;initial catalog=NewTestDB;integrated security=True;"
   providerName="System.Data.SqlClient"/>

Voici mon code:

var pat = new Patient { Name = "Shane123132524356436435234" };
db.Patients.Add(pat);

var labResult = new LabResult { Result = "bad", Patient = pat };

int recordAffected = db.SaveChanges();

Voici mon contexte:

public class HospitalContext : DbContext
{
    static HospitalContext()
    {
        Database.SetInitializer(new HostpitalContextInitializer());
    }

    public DbSet<Patient> Patients { get; set; }
    public DbSet<LabResult> LabResults { get; set; }
}

public class HostpitalContextInitializer :
             DropCreateDatabaseIfModelChanges<HospitalContext>
{
    protected override void Seed(HospitalContext context)
    {
        context.Patients.Add(new Patient { Name = "Fred Peters" });
        context.Patients.Add(new Patient { Name = "John Smith" });
        context.Patients.Add(new Patient { Name = "Karen Fredricks" });
    }
}

C'est un des correctifs de SQL 2008 système, avec visual studio 2010 SP1.

  • Il semblerait, d'après l'ajout de [Touche] pour le Modèle, son passé de cette question. Je suis encore à une autre question, mais cela pourrait avoir résolu que.
  • Aussi, il se pourrait que j'ai ajouté "Intégré security=true" à ma chaîne de connexion...
  • Je vais avoir la même exception lorsque l'on travaille avec SqlServerCe.Entity.dll
  • Dans l'intérêt de choses qui peuvent évoquer cette exception - je passer 20 minutes à regarder le passé de la faute de frappe dans le nom de la chaîne de connexion qui doit correspondre au nom du contexte.
InformationsquelleAutor bugnuker | 2011-03-24