Không thể tìm thấy bất cứ điều gì có liên quan về Entity Framework / MySQL trên Google vì vậy tôi hy vọng ai đó biết về nó.
Không thể tìm thấy bất cứ điều gì có liên quan về Entity Framework / MySQL trên Google vì vậy tôi hy vọng ai đó biết về nó.
Câu trả lời:
Nó đã được phát hành - Nhận trình kết nối MySQL cho .Net v6.5 - điều này có hỗ trợ cho [Entity Framework]
Tôi đã chờ đợi điều này toàn bộ thời gian, mặc dù hỗ trợ là cơ bản, hoạt động cho hầu hết các kịch bản cơ bản của tương tác db. Nó cũng có tích hợp Visual Studio cơ bản.
CẬP NHẬT http://dev.mysql.com/doads/connector/net/ Bắt đầu với phiên bản 6.7, Trình kết nối / Net sẽ không còn bao gồm tích hợp MySQL cho Visual Studio. Chức năng đó hiện có sẵn trong một sản phẩm riêng biệt có tên MySQL cho Visual Studio có sẵn bằng Trình cài đặt MySQL cho Windows (xem http://dev.mysql.com/tech-resource/articles/mysql-installer-for-windows.html ).
Kiểm tra bài viết của tôi về chủ đề này.
MySQL sẽ tổ chức một hội thảo trực tuyến về EF trong vài ngày tới ... Xem tại đây: http://www.mysql.com/news-and-events/web-seminars/display-204.html
chỉnh sửa: Hội thảo trên web đó hiện có tại http://www.mysql.com/news-and-events/on-demand-webinars/display-od-204.html
Đây không phải là về MS và những gì họ muốn. Họ đã tạo ra một hệ thống * mở cho những người khác cắm 'nhà cung cấp' - postgres và sqlite có nó - mysql chỉ là laggin ... nhưng, tin tốt cho những người quan tâm, tôi cũng đang tìm kiếm điều này và thấy rằng Trình kết nối MySql / Net 6.0 sẽ có nó ... bạn có thể kiểm tra nó ở đây:
http://www.upfromthesky.com/blog/post/2009/03/24/MySql-Supports-the-Entity-Framework.aspx
Bạn sẽ cần một nhà cung cấp bản đồ cho MySQL. Đó là một điều nữa mà Entity Framework cần để biến điều kỳ diệu thành hiện thực. Blog này nói về các nhà cung cấp bản đồ khác ngoài một nhà cung cấp mà Microsoft đang cung cấp. Tôi không tìm thấy bất kỳ đề cập nào về MySQL.
Vintana,
Tất nhiên là có thứ gì đó sẵn sàng rồi. http://www.devart.com/products.html - mặc dù nó mang tính thương mại (bạn có bản dùng thử IIRC 30 ngày). Họ làm cho một nhà cung cấp viết sống, vì vậy tôi đoán nó nên nhanh và ổn định. Tôi biết các công ty thực sự lớn sử dụng nhà cung cấp Oracle của họ thay vì Orace và MS.
Hãy cẩn thận khi sử dụng trình kết nối .net, Trình kết nối 6.6.5 có lỗi, nó không hoạt động để chèn các giá trị tinyint làm danh tính, ví dụ:
create table person(
Id tinyint unsigned primary key auto_increment,
Name varchar(30)
);
nếu bạn cố gắng chèn một đối tượng như thế này:
Person p;
p = new Person();
p.Name = 'Oware'
context.Person.Add(p);
context.SaveChanges();
Bạn sẽ nhận được một ngoại lệ tham chiếu 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()
Cho đến bây giờ tôi vẫn chưa tìm được giải pháp, tôi phải thay đổi danh tính nhỏ bé của mình thành nhận dạng int không dấu, điều này đã giải quyết vấn đề nhưng đây không phải là giải pháp phù hợp.
Nếu bạn sử dụng phiên bản cũ hơn của Connector.net (tôi đã sử dụng 6.4.4), bạn sẽ không gặp phải vấn đề này.
Nếu ai đó biết về giải pháp, xin vui lòng liên hệ với tôi.
Chúc mừng!
Oware
Person p = new Person(){Name = "Oware"}; context.Person.Add(p); context.SaveChanges();
Bạn cũng có thể xem https://www.devart.com/dotconnect/mysql/
Trình kết nối của DevArt hỗ trợ EF và MySQL.
Tôi không thấy liên kết ở đây, nhưng có Trình kết nối .NET beta cho MySql. Nhấp vào "Phát hành phát triển" để tải xuống bản 6.3.2 beta, có tích hợp EF4 / VS2010:
Nếu bạn quan tâm đến việc chạy Entity Framework với MySql trên mono / linux / macos, điều này có thể hữu ích https://iyalovoi.wordpress.com/2015/04/06/entity-framework-with-mysql-on-mac-os/