Maison  >  Article  >  base de données  >  Comment utiliser MySql avec Entity Framework 4 et le développement Code-First : un guide étape par étape ?

Comment utiliser MySql avec Entity Framework 4 et le développement Code-First : un guide étape par étape ?

DDD
DDDoriginal
2024-10-30 12:08:03883parcourir

How to Use MySql with Entity Framework 4 and Code-First Development: A Step-by-Step Guide?

Utilisation de MySql avec Entity Framework 4 et le CTP de développement Code-First

Article récent de Scott Guthrie sur le développement code-first avec Entity Framework 4 a suscité l'intérêt de l'expérimenter en utilisant MySql au lieu de Sql Server. Cependant, configurez Entity Framework 4 pour générer automatiquement la base de données avec MySql.

Exception :

La tentative initiale a abouti à une ProviderIncompatibleException, indiquant que la base de données NerdDinners n'existait pas. . La création manuelle de la base de données n'a pas non plus résolu le problème, ce qui a conduit à une deuxième ProviderIncompatibleException indiquant que "DatabaseExists n'est pas pris en charge par le fournisseur".

Résolution :

Après Lors de l'exploration, quelques points clés ont émergé :

  1. Création d'une base de données : MySql nécessite l'existence de la base de données avant d'utiliser Entity Framework 4. L'attente initiale de la création automatique d'une base de données ne correspondait pas à Comportement de MySql.
  2. Connexion DbContext : Chaque instance DbContext nécessite une chaîne de connexion correspondante dans le fichier web.config. Dans l'extrait de code fourni, le contexte « NerdDinners » doit avoir une chaîne de connexion nommée « NerdDinners ».
  3. Nom de la table : Entity Framework 4 utilise le nom de la propriété DBSet pour déterminer le nom de la table. Une attention particulière doit être prise lors de la nomination de ces propriétés pour obtenir les noms de table souhaités.
  4. Modification Web.Config : Lors du déploiement de l'application MVC avec MySQL, une DataFactory doit être incluse dans le Web. .config pour résoudre les problèmes de compatibilité potentiels avec les connecteurs MySql. Le code suivant doit être ajouté au web.config :
<code class="xml"><system.data>
  <DbProviderFactories>
    <add name="MySQL Data Provider"
         invariant="MySql.Data.MySqlClient"
         description=".Net Framework Data Provider for MySQL"
         type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
  </DbProviderFactories>
</system.data></code>
  1. Inclusion de Dll : Copie des DLL MySQL dans le déploiement et définition de leur attribut CopyLocal sur True assure la compatibilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn