5

Je suis en train de mettre à jour le modèle de la base de données et d'utiliser MySQL comme source de données. S'il vous plaît voir l'image inline: MySQL not listed in Update model from db J'ai installé MySQL pour Visual Studio, de cette façon je peux voir le modèle de données existant, créé par quelqu'un d'autre, mais je ne peux pas mettre à jour le modèle de données. J'ai également essayé la solution donnée ici: Can't Create Entity Data Model - using MySql and EF6, mais cela n'a pas fonctionné.MySQL n'est pas répertorié dans le modèle de base de données dans VS Express édition 2012

Il semble qu'il y ait un problème avec VS 2012 Express Edition.

Je dois savoir est-ce un problème avec express VS 2012, ou suis-je manque quelque chose,

Comment lister MySQL comme source de données ?? Toute aide serait vraiment appréciée.

Répondre

1

AFAIK, VS 2012 Express ne pas prise en charge par MySQL for Visual Studio comme une extension, mais soutenu par MySQL Connector/NET, selon this article:

MySQL pour Visual Studio ne supporte pas les versions Express de produits de développement Microsoft , y compris Visual Studio et Microsoft Visual Web Developer. Pour utiliser MySQL Connector/Net avec une version Express des produits de développement Microsoft, utilisez MySQL Connector/Net 6.7.4 ou version ultérieure, sans installer MySQL pour Visual Studio.

Voici quelques étapes pour utiliser le connecteur/NET avec EF:

  1. Installer MySQL Connector/NET, ajouter 3 fichiers suivants DLL comme référence dans votre projet:

    MySql.Data.dll 
    MySql.Data.Entity.dll (for EF6 it should be MySql.Data.Entity.EF6.dll) 
    MySql.Web.dll 
    

Les fichiers requis existent sur MySQL\MySQL Connector Net [version number]\Assemblies\[.NET version]\, par ex. C:\Program Files\MySQL\MySQL Connector Net 6.x.x\Assemblies\v4.5\.

  1. Modifier élément entityFramework sur votre fichier web.config selon la version EF utilisée:

EF 5

<entityFramework> 
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity" /> 
</entityFramework> 

EF 6

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    <providers> 
     <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    </providers> 
</entityFramework> 
  1. Reconstruisez votre projet/solution et assurez-vous que l'option "Base de données MySQL" est disponible dans la liste déroulante des sources de données.

Mise à jour:

Après avoir mené d'autres recherches sur la disponibilité des sources de données, je trouve que les éditions de Visual Studio Express ont certain ensemble de limitations en ce qui concerne les extensions tierce partie, donc dans certains cas, ne permet même pas créer connexion à l'instance MySQL dans EDM au moment de la conception (merci à Devart me rappelle à ce sujet). Pour contourner ce problème, CLI basée sur EDM générateur peut être utilisé (voir example et usage description) comme dans cet exemple:

edmgen.exe /mode:fullgeneration /c:"[MySQL DB connection string]" /project:[project name] /entitycontainer:[entity name] /namespace:[table namespace] /language:CSharp 

questions connexes:

mySQL DataSource on Visual Studio 2012

Can't use a MySQL connection for entity framework 6

MySQL For Visual Studio 2012/2013

+0

Donc, cette méthode ne fonctionnera pas dans VS 2012 express, j'ai essayé mais je n'ai pas travaillé pour moi – csharpcoder

+0

Quelles étapes avez-vous essayé et quand cela ne fonctionnait pas? Je veux savoir si vous avez fait quelque chose de mal ou de faux lors de l'intégration de Connector Net. –

+0

J'ai suivi les étapes, comme expliqué, le projet obtient la construction, mais dans la source de données, il n'est pas répertorié. J'ai référé les Dll correctement. Êtes-vous sûr que cela fonctionne pour VS Express 2012 – csharpcoder