web-dev-qa-db-ja.com

Entity FrameworkでMySQLを使用する

GoogleでEntity Framework/MySQLに関連するものが見つからないので、誰かがそれについて知っていることを望んでいます。

266
vintana

リリースされました- 。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 )。

191
Vin

このテーマに関する私の投稿をチェックしてください。

http://pattersonc.com/blog/index.php/2009/04/01/using-mysql-with-entity-framework-and-aspnet-mvc-–-part-i/

22
pattersonc

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

10
Sir Code-A-Lot

これはMSと彼らが望むものではありません。彼らは他の人が「プロバイダー」をプラグインするための*オープンシステムを作成しました-postgresとsqliteはそれを持っています-mysqlはただ遅れています...しかし、興味のある人にとっては良いニュースです/ Net 6.0にはそれがあります...ここで確認できます:

http://www.upfromthesky.com/blog/post/2009/03/24/MySql-Supports-the-Entity-Framework.aspx

7
bbqchickenrobot

MySQLのマッピングプロバイダーが必要になります。これは、Entity Frameworkが魔法を実現するために必要な余分なものです。 このブログ Microsoftが提供している以外のマッピングプロバイダーについて説明しています。 MySQLに関する言及はありません。

5
Lars Truijens

ヴィンタナ、

もちろん、準備が整ったものがあります。 http://www.devart.com/products.html -商用ですが(30日間の試用版IIRCがあります)。彼らは生計を立てるプロバイダーを作っているので、高速で安定しているべきだと思います。 OraceやMSの代わりにOracleプロバイダーを使用している大企業を知っています。

2
aaimnr

このMySQLチュートリアル は、コントロールのデータソースとしてEFエンティティを生成および使用する方法を示しています。

1
Kasey Speakman

コネクタ.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を使用しました)を使用している場合、この問題は発生しません。

誰かが解決策を知っているなら、私に連絡してください。

乾杯!

オウェア

1
oware

https://www.devart.com/dotconnect/mysql/ もご覧ください。

DevArtのコネクタはEFとMySQLをサポートします。

1
scotru

ここにはリンクが表示されませんでしたが、MySql用のベータ版の.NETコネクタがあります。 「開発リリース」をクリックして、EF4/VS2010統合を含む6.3.2ベータ版をダウンロードします。

http://dev.mysql.com/downloads/connector/net/5.0.html#downloads

0
Brian Frantz

Mono/linux/macosでMySqlを使用してEntity Frameworkを実行することに興味がある場合、これは役に立つかもしれません https://iyalovoi.wordpress.com/2015/04/06/entity-framework-with-mysql-on- mac-os /

0
Igor Yalovoy