Je ne trouve rien de pertinent sur Entity Framework / MySQL sur Google, donc j’espère que quelqu’un le sait.
Il a été publié – Obtenez le connecteur MySQL pour .Net v6.5 – cela prend en charge [Entity Framework]
Je l’attendais tout le temps, bien que le support soit basique, fonctionne pour la plupart des scénarios basiques d’interaction db. Il a également une intégration Visual Studio de base.
UPDATE http://dev.mysql.com/downloads/connector/net/ À partir de la version 6.7, Connector / Net n’inclut plus l’intégration de MySQL pour Visual Studio. Cette fonctionnalité est désormais disponible dans un produit distinct appelé MySQL for Visual Studio disponible à l’aide du programme d’installation MySQL pour Windows (voir http://dev.mysql.com/tech-resources/articles/mysql-installer-for-windows.html ).
Consultez mon post sur ce sujet.
MySQL organise un webinary sur EF dans quelques jours … Regardez ici: http://www.mysql.com/news-and-events/web-seminars/display-204.html
edit: Ce webinary est maintenant à http://www.mysql.com/news-and-events/on-demand-webinars/display-od-204.html
Il ne s’agit pas de MS et de ce qu’ils veulent. Ils ont créé un * système ouvert pour que les autres puissent append des fournisseurs – postgres et sqlite l’ont – mysql est juste laggin … mais, bonne nouvelle pour ceux que ça intéresse, je cherchais ça et j’ai découvert que le connecteur MySql / Net 6.0 l’aura … vous pouvez le vérifier ici:
http://www.upfromthesky.com/blog/post/2009/03/24/MySql-Supports-the-Entity-Framework.aspx
Vous auriez besoin d’un fournisseur de cartographie pour MySQL. C’est une chose supplémentaire dont Entity Framework a besoin pour que la magie se produise. Ce blog parle d’autres fournisseurs de cartographie que celui que Microsoft fournit. Je n’ai trouvé aucune mention de MySQL.
Vintana,
Bien sûr, il y a quelque chose de prêt maintenant. http://www.devart.com/products.html – c’est commercial bien (vous avez un essai de 30 jours sur le IIRC). Ils font des fournisseurs d’écriture vivants, alors je suppose que cela devrait être rapide et stable. Je connais de grandes entresockets qui utilisent leur fournisseur Oracle au lieu d’Orace et de MS.
Ce tutoriel MySQL montre comment générer et utiliser des entités EF en tant que source de données pour un contrôle.
Soyez prudent en utilisant le connecteur .net, le connecteur 6.6.5 a un bogue, il ne fonctionne pas pour insérer des valeurs tinyint comme identité, par exemple:
create table person( Id tinyint unsigned primary key auto_increment, Name varchar(30) );
Si vous essayez d’insérer un object comme celui-ci:
Person p; p = new Person(); p.Name = 'Oware' context.Person.Add(p); context.SaveChanges();
Vous obtiendrez une exception de référence nulle:
Referencia a objecto no establecida como instancia de un objecto.: en MySql.Data.Entity.ListFragment.WriteSql(SsortingngBuilder sql) en MySql.Data.Entity.SelectStatement.WriteSql(SsortingngBuilder sql) en MySql.Data.Entity.InsertStatement.WriteSql(SsortingngBuilder sql) en MySql.Data.Entity.SqlFragment.ToSsortingng() en MySql.Data.Entity.InsertGenerator.GenerateSQL(DbCommandTree tree) en MySql.Data.MySqlClient.MySqlProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest, DbCommandTree commandTree) en System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree) en System.Data.Common.DbProviderServices.CreateCommand(DbCommandTree commandTree) en System.Data.Mapping.Update.Internal.UpdateTranslator.CreateCommand(DbModificationCommandTree commandTree) en System.Data.Mapping.Update.Internal.DynamicUpdateCommand.CreateCommand(UpdateTranslator translator, Dictionary`2 identifierValues) en System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary`2 identifierValues, List`1 generatedValues) en System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter) en System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache) en System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options) en System.Data.Entity.Internal.InternalContext.SaveChanges() en System.Data.Entity.Internal.LazyInternalContext.SaveChanges() en System.Data.Entity.DbContext.SaveChanges()
Jusqu’à présent, je n’ai pas trouvé de solution, je devais changer mon identité tinyint en une identité int non signée, cela a résolu le problème mais ce n’est pas la bonne solution.
Si vous utilisez une version antérieure de Connector.net (j’ai utilisé 6.4.4), vous ne rencontrerez pas ce problème.
Si quelqu’un connaît la solution, veuillez me contacter.
À votre santé!
Oware
Vous pouvez également consulter https://www.devart.com/dotconnect/mysql/
Le connecteur de DevArt prend en charge EF et MySQL.
Je n’ai pas vu le lien ici, mais il y a une version bêta du connecteur .NET pour MySQL. Cliquez sur “Development Releases” pour télécharger la version 6.3.2 beta, qui intègre l’intégration EF4 / VS2010:
http://dev.mysql.com/downloads/connector/net/5.0.html#downloads
Si vous êtes intéressé par l’exécution d’Entity Framework avec MySql sur mono / linux / macos, cela peut être utile https://iyalovoi.wordpress.com/2015/04/06/entity-framework-with-mysql-on-mac-os/