Je ne trouve rien de pertinent sur Entity Framework / MySQL sur Google, donc j'espère que quelqu'un le sait.
Je ne trouve rien de pertinent sur Entity Framework / MySQL sur Google, donc j'espère que quelqu'un le sait.
Réponses:
Il a été publié - Obtenez le connecteur MySQL pour .Net v6.5 - cela prend en charge [Entity Framework]
J'attendais cela tout le temps, bien que le support soit basique, fonctionne pour la plupart des scénarios de base d'interaction db. Il a également une intégration de base de Visual Studio.
MISE À JOUR http://dev.mysql.com/downloads/connector/net/ À partir de la version 6.7, Connector / Net n'inclura plus l'intégration MySQL pour Visual Studio. Cette fonctionnalité est maintenant disponible dans un produit distinct appelé MySQL pour 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 article sur ce sujet.
MySQL organise un webinaire sur EF dans quelques jours ... Regardez ici: http://www.mysql.com/news-and-events/web-seminars/display-204.html
modifier: Ce webinaire est maintenant à http://www.mysql.com/news-and-events/on-demand-webinars/display-od-204.html
Il ne s'agit pas de SEP et de ce qu'ils veulent. Ils ont créé un * système ouvert pour que d'autres puissent brancher des `` fournisseurs '' - postgres et sqlite l'ont - mysql est juste en retard ... mais, bonne nouvelle pour les personnes intéressées, je le cherchais aussi 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 opère. Ce blog parle d'autres fournisseurs de cartographie en plus de 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 cependant (vous avez un essai IIRC de 30 jours). Ils font vivre les fournisseurs d'écriture, donc je suppose que cela devrait être rapide et stable. Je connais de très grandes entreprises utilisant leur fournisseur Oracle au lieu d'Orace et de MS.
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 objet 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 objeto no establecida como instancia de un objeto.:
en MySql.Data.Entity.ListFragment.WriteSql(StringBuilder sql)
en MySql.Data.Entity.SelectStatement.WriteSql(StringBuilder sql)
en MySql.Data.Entity.InsertStatement.WriteSql(StringBuilder sql)
en MySql.Data.Entity.SqlFragment.ToString()
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, j'ai dû changer mon identité tinyint en identité int non signée, cela a résolu le problème mais ce n'est pas la bonne solution.
Si vous utilisez une ancienne version de Connector.net (j'ai utilisé 6.4.4), vous n'aurez pas ce problème.
Si quelqu'un connaît la solution, veuillez me contacter.
À votre santé!
Oware
Person p = new Person(){Name = "Oware"}; context.Person.Add(p); context.SaveChanges();
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 existe un connecteur bêta .NET pour MySql. Cliquez sur "Versions de développement" pour télécharger la version 6.3.2 bêta, qui intègre l'intégration EF4 / VS2010:
http://dev.mysql.com/downloads/connector/net/5.0.html#downloads
Si vous souhaitez exécuter Entity Framework avec MySql sur mono / linux / macos, cela pourrait être utile https://iyalovoi.wordpress.com/2015/04/06/entity-framework-with-mysql-on-mac-os/