Google'da Entity Framework / MySQL hakkında alakalı bir şey bulamıyorum, bu yüzden birinin bunu bilmesini umuyorum.
Google'da Entity Framework / MySQL hakkında alakalı bir şey bulamıyorum, bu yüzden birinin bunu bilmesini umuyorum.
Yanıtlar:
Bu serbest oldu - Get Net v6.5 için MySQL konektörü - Bu desteği vardır [Varlık Framework]
Destek temel olsa da, db etkileşimi en temel senaryoları için çalışır, tüm zaman boyunca bekliyordum. Ayrıca temel Visual Studio entegrasyonu vardır.
GÜNCELLEME http://dev.mysql.com/downloads/connector/net/ 6.7 sürümünden itibaren Bağlayıcı / Net artık Visual Studio için MySQL içermeyecektir. Bu işlevsellik artık Windows için MySQL Yükleyicisi kullanılarak kullanılabilen Visual Studio için MySQL adlı ayrı bir üründe kullanılabilir (bkz. Http://dev.mysql.com/tech-resources/articles/mysql-installer-for-windows.html ).
Bu konudaki yazımı kontrol et.
MySQL birkaç gün içinde EF hakkında bir web semineri düzenliyor ... Şuraya bakın: http://www.mysql.com/news-and-events/web-seminars/display-204.html
edit: Bu web semineri şu anda http://www.mysql.com/news-and-events/on-demand-webinars/display-od-204.html
Bu MS ve ne istedikleri ile ilgili değil. Onlar eklentileri 'sağlayıcıları' için * açık bir sistem oluşturduk - postgres ve sqlite var - mysql sadece laggin ... ama, ilgilenenler için iyi haber, ben de bu arıyor ve MySql Bağlayıcı bulundu / Net 6.0'da olacak ... buradan kontrol edebilirsiniz:
http://www.upfromthesky.com/blog/post/2009/03/24/MySql-Supports-the-Entity-Framework.aspx
MySQL için bir harita sağlayıcısına ihtiyacınız olacaktır. Bu, Entity Framework'ün sihri gerçekleştirmek için ihtiyaç duyduğu ekstra bir şey. Bu blog , Microsoft'un sağladığı harita dışında diğer harita sağlayıcılarından bahsediyor. MySQL'den bahsetmedim.
Vintana,
Tabii şimdi hazır bir şey var. http://www.devart.com/products.html - ticari olsa da (30 günlük bir deneme IIRC'niz var). Yaşayan bir yazı sağlayıcısı yapıyorlar, bu yüzden hızlı ve kararlı olmalı. Orace ve MS yerine Oracle sağlayıcılarını kullanan gerçekten büyük şirketler biliyorum.
Bağlayıcı .net, Bağlayıcı 6.6.5 kullanırken bir hata var dikkatli olun, kimlik olarak tinyint değerleri eklemek için çalışmıyor, örneğin:
create table person(
Id tinyint unsigned primary key auto_increment,
Name varchar(30)
);
böyle bir nesne eklemeye çalışırsanız:
Person p;
p = new Person();
p.Name = 'Oware'
context.Person.Add(p);
context.SaveChanges();
Bir Boş Referans İstisnası alacaksınız:
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()
Şimdiye kadar bir çözüm bulamadım, minik kimliğimi imzasız int kimliğe değiştirmek zorunda kaldım, bu sorunu çözdü, ancak bu doğru çözüm değil.
Connector.net'in eski bir sürümünü kullanıyorsanız (6.4.4 kullandım) bu sorunla karşılaşmazsınız.
Birisi çözümü biliyorsa, lütfen benimle iletişime geçin.
Şerefe!
Oware
Person p = new Person(){Name = "Oware"}; context.Person.Add(p); context.SaveChanges();
Ayrıca https://www.devart.com/dotconnect/mysql/ adresine de bakabilirsiniz.
DevArt'ın konektörü EF ve MySQL'i destekler.
Burada bağlantıyı görmedim, ancak MySql için bir beta .NET Bağlayıcısı var. EF4 / VS2010 entegrasyonu olan 6.3.2 beta sürümünü indirmek için "Geliştirme Bültenleri" ni tıklayın:
http://dev.mysql.com/downloads/connector/net/5.0.html#downloads
Entity Framework'ü MySql ile mono / linux / macos üzerinde çalıştırmak istiyorsanız, bu yardımcı olabilir https://iyalovoi.wordpress.com/2015/04/06/entity-framework-with-mysql-on-mac-os/