GoogleでEntity Framework/MySQLに関連するものが見つからないので、誰かがそれについて知っていることを望んでいます。
リリースされました- 。Net v6.5用のMySQLコネクタ を入手してください-これは[Entity Framework]をサポートしています
サポートは基本的なものですが、db相互作用のほとんどの基本的なシナリオで機能しますが、これをずっと待っていました。また、基本的なVisual Studio統合もあります。
UPDATEhttp://dev.mysql.com/downloads/connector/net/ バージョン6.7以降、Connector/Netには、Visual Studio統合用のMySQLは含まれなくなります。この機能は、MySQL Installer for Windowsを使用して使用できるVisual Studio用MySQLという別の製品で使用できるようになりました( http://dev.mysql.com/tech-resources/articles/mysql-installer-for-windowsを参照してください.html )。
MySQLは数日でEFに関するウェビナーを開催しています...ここをご覧ください: http://www.mysql.com/news-and-events/web-seminars/display-204.html
edit:そのウェビナーは現在 http://www.mysql.com/news-and-events/on-demand-webinarsにあります/display-od-204.html
これはMSと彼らが望むものではありません。彼らは他の人が「プロバイダー」をプラグインするための*オープンシステムを作成しました-postgresとsqliteはそれを持っています-mysqlはただ遅れています...しかし、興味のある人にとっては良いニュースです/ Net 6.0にはそれがあります...ここで確認できます:
http://www.upfromthesky.com/blog/post/2009/03/24/MySql-Supports-the-Entity-Framework.aspx
MySQLのマッピングプロバイダーが必要になります。これは、Entity Frameworkが魔法を実現するために必要な余分なものです。 このブログ Microsoftが提供している以外のマッピングプロバイダーについて説明しています。 MySQLに関する言及はありません。
ヴィンタナ、
もちろん、準備が整ったものがあります。 http://www.devart.com/products.html -商用ですが(30日間の試用版IIRCがあります)。彼らは生計を立てるプロバイダーを作っているので、高速で安定しているべきだと思います。 OraceやMSの代わりにOracleプロバイダーを使用している大企業を知っています。
このMySQLチュートリアル は、コントロールのデータソースとしてEFエンティティを生成および使用する方法を示しています。
コネクタ.netの使用には注意してください。コネクタ6.6.5にはバグがあり、tinyint値をIDとして挿入するために機能しません。例:
create table person(
Id tinyint unsigned primary key auto_increment,
Name varchar(30)
);
このようなオブジェクトを挿入しようとすると:
Person p;
p = new Person();
p.Name = 'Oware'
context.Person.Add(p);
context.SaveChanges();
Null参照例外が発生します。
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()
今まで私は解決策を見つけていませんでした。tinyintIDをunsigned int IDに変更する必要がありました。これで問題は解決しましたが、これは正しい解決策ではありません。
古いバージョンのConnector.net(6.4.4を使用しました)を使用している場合、この問題は発生しません。
誰かが解決策を知っているなら、私に連絡してください。
乾杯!
オウェア
https://www.devart.com/dotconnect/mysql/ もご覧ください。
DevArtのコネクタはEFとMySQLをサポートします。
ここにはリンクが表示されませんでしたが、MySql用のベータ版の.NETコネクタがあります。 「開発リリース」をクリックして、EF4/VS2010統合を含む6.3.2ベータ版をダウンロードします。
http://dev.mysql.com/downloads/connector/net/5.0.html#downloads
Mono/linux/macosでMySqlを使用してEntity Frameworkを実行することに興味がある場合、これは役に立つかもしれません https://iyalovoi.wordpress.com/2015/04/06/entity-framework-with-mysql-on- mac-os /