it-swarm-id.com

Menggunakan MySQL dengan Entity Framework

Tidak dapat menemukan apa pun yang relevan tentang Entity Framework/MySQL di Google jadi saya berharap seseorang mengetahuinya.

268
vintana

Telah dirilis - Dapatkan konektor MySQL untuk .Net v6.5 - ini memiliki dukungan untuk [Kerangka Kerja Entitas]

Saya menunggu ini sepanjang waktu, meskipun dukungannya dasar, berfungsi untuk sebagian besar skenario dasar interaksi db. Ini juga memiliki integrasi Visual Studio dasar.

PERBARUIhttp://dev.mysql.com/downloads/connector/net/ Dimulai dengan versi 6.7, Connector/Net tidak akan lagi menyertakan integrasi MySQL untuk Visual Studio. Fungsionalitas itu sekarang tersedia dalam produk terpisah yang disebut MySQL untuk Visual Studio yang tersedia menggunakan Penginstal MySQL untuk Windows (lihat http://dev.mysql.com/tech-resources/articles/mysql-installer-for-windows) .html ).

192
Vin
22
pattersonc

MySQL menjadi hosting webinar tentang EF dalam beberapa hari ... Lihat di sini: http://www.mysql.com/news-and-events/web-seminars/display-204.html

edit: Webinar itu sekarang di http://www.mysql.com/news-and-events/on- demand-webinar/display-od-204.html

10
Sir Code-A-Lot

Ini bukan tentang MS dan apa yang mereka inginkan. Mereka telah menciptakan * sistem terbuka untuk orang lain untuk plug-in 'penyedia' - postgres dan sqlite memilikinya - mysql hanya laggin ... tapi, kabar baik bagi mereka yang tertarik, saya juga mencari ini dan menemukan bahwa Konektor MySql/Net 6.0 akan memilikinya ... Anda dapat memeriksanya di sini:

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

7
bbqchickenrobot

Anda membutuhkan penyedia pemetaan untuk MySQL. Itu adalah hal ekstra yang dibutuhkan Kerangka Entitas untuk membuat keajaiban terjadi. Blog ini berbicara tentang penyedia pemetaan lain selain yang disediakan Microsoft. Saya belum menemukan penyebutan MySQL.

5
Lars Truijens

Vintana,

Tentu saja ada sesuatu yang siap sekarang. http://www.devart.com/products.html - ini komersial (Anda memiliki uji coba IIRC 30 hari). Mereka membuat penyedia menulis yang hidup, jadi saya kira itu harus cepat dan stabil. Saya tahu perusahaan besar menggunakan penyedia Oracle mereka, bukan Orace dan MS.

2
aaimnr

Tutorial MySQL ini menunjukkan cara membuat dan menggunakan entitas EF sebagai sumber data untuk kontrol.

1
Kasey Speakman

Hati-hati menggunakan konektor .net, Connector 6.6.5 memiliki bug, itu tidak berfungsi untuk memasukkan nilai tinyint sebagai identitas, misalnya:

create table person(
    Id tinyint unsigned primary key auto_increment,
    Name varchar(30)
);

jika Anda mencoba memasukkan objek seperti ini:

Person p;
p = new Person();
p.Name = 'Oware'
context.Person.Add(p);
context.SaveChanges();

Anda akan mendapatkan Pengecualian Referensi 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()

Sampai sekarang saya belum menemukan solusi, saya harus mengubah identitas tinyint saya menjadi identitas int unsigned, ini menyelesaikan masalah tetapi ini bukan solusi yang tepat.

Jika Anda menggunakan Connector.net versi lama (saya menggunakan 6.4.4), Anda tidak akan mengalami masalah ini.

Jika seseorang tahu tentang solusinya, silakan hubungi saya.

Tepuk tangan!

Oware

1
oware

Anda mungkin juga melihat https://www.devart.com/dotconnect/mysql/

Konektor DevArt mendukung EF dan MySQL.

1
scotru

Saya tidak melihat tautannya di sini, tetapi ada beta .NET Connector untuk MySql. Klik "Rilis Pengembangan" untuk mengunduh 6.3.2 beta, yang memiliki integrasi EF4/VS2010:

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

0
Brian Frantz

Jika Anda tertarik menjalankan Entity Framework dengan MySql di mono/linux/macos, ini mungkin membantu https://iyalovoi.wordpress.com/2015/04/06/entity-framework-with-mysql-on- mac-os /

0
Igor Yalovoy