AFAIK, VS 2012 Express không được hỗ trợ bởi MySQL for Visual Studio
như mở rộng nhưng được hỗ trợ bởi MySQL Connector/NET
, theo this article:
MySQL cho Visual Studio không hỗ trợ các phiên bản Express của các sản phẩm phát triển Microsoft , bao gồm Visual Studio và Microsoft Nhà phát triển web trực quan.
Để sử dụng MySQL Connector/Net với phiên bản Express của các sản phẩm phát triển của Microsoft, hãy sử dụng MySQL Connector/Net 6.7.4 hoặc mới hơn mà không cần cài đặt MySQL cho Visual Studio.
Dưới đây là một số bước để sử dụng kết nối/NET với EF:
Cài đặt MySQL Connector/NET, thêm 3 file DLL sau đây là tài liệu tham khảo trong dự án của bạn:
MySql.Data.dll
MySql.Data.Entity.dll (for EF6 it should be MySql.Data.Entity.EF6.dll)
MySql.Web.dll
Các tệp bắt buộc tồn tại trên MySQL\MySQL Connector Net [version number]\Assemblies\[.NET version]\
, ví dụ: C:\Program Files\MySQL\MySQL Connector Net 6.x.x\Assemblies\v4.5\
.
- Thay đổi
entityFramework
yếu tố trên web.config
tập tin của bạn tùy thuộc vào phiên bản EF đang được sử dụng:
EF 5
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity" />
</entityFramework>
EF 6
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
- Xây dựng lại dự án/giải pháp của bạn và đảm bảo tùy chọn "Cơ sở dữ liệu MySQL" có sẵn trên danh sách thả xuống nguồn dữ liệu.
Cập nhật:
Sau khi tiến hành nghiên cứu sâu hơn về tính sẵn có nguồn dữ liệu, tôi thấy rằng Visual Studio Express phiên bản có tập hợp một số hạn chế liên quan đến các phần mở rộng của bên thứ ba, vì thế trong một số trường hợp không cho phép thậm chí tạo kết nối với cá thể MySQL trong thời gian thiết kế EDM (nhờ Devart nhắc tôi về điều này). Là một workaround, CLI-based EDM Generator có thể được sử dụng (xem example và usage description) như ví dụ sau:
edmgen.exe /mode:fullgeneration /c:"[MySQL DB connection string]" /project:[project name] /entitycontainer:[entity name] /namespace:[table namespace] /language:CSharp
các vấn đề liên quan:
mySQL DataSource on Visual Studio 2012
Can't use a MySQL connection for entity framework 6
MySQL For Visual Studio 2012/2013
Vì vậy, phương pháp này sẽ không hoạt động trong VS 2012 express, tôi đã thử nhưng không đã làm việc cho tôi – csharpcoder
Các bước bạn đã thử và khi nào nó không hoạt động? Tôi muốn biết nếu bạn đã làm điều gì đó sai hoặc không chính xác trong quá trình tích hợp Net Connector. –
Tôi đã làm theo các bước như dự án được giải thích được xây dựng, nhưng trong nguồn dữ liệu nó không được liệt kê. Tôi đã giới thiệu các Dlls đúng cách. Bạn có chắc chắn nó hoạt động cho VS Express 2012 – csharpcoder