5

Tôi đang cố gắng cập nhật mô hình từ cơ sở dữ liệu và sử dụng MySQL làm nguồn dữ liệu của mình, có vẻ như có một số vấn đề trong danh sách MySQL dưới dạng nguồn dữ liệu. Vui lòng xem hình ảnh bên trong: MySQL not listed in Update model from db Tôi đã cài đặt MySQL cho studio trực quan, theo cách đó tôi có thể xem mô hình dữ liệu hiện có, được tạo bởi người khác, nhưng tôi không thể cập nhật mô hình dữ liệu. Ngoài ra tôi đã thử giải pháp được cung cấp tại đây: Can't Create Entity Data Model - using MySql and EF6, nhưng nó không được giải quyết.MySQL không được liệt kê trong mô hình Cập nhật từ Cơ sở dữ liệu cho khung thực thể trong ấn bản VS Express 2012

Có vẻ như đã xảy ra sự cố với phiên bản Express 2012 của VS.

tôi cần phải biết điều này là một vấn đề với VS 2012 Express, hay tôi thiếu cái gì đó,

Làm thế nào để liệt kê MySQL như là nguồn dữ liệu ?? Mọi trợ giúp sẽ thực sự được đánh giá cao.

Trả lời

1

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:

  1. 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\.

  1. 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> 
  1. 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 exampleusage 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

+0

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

+0

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. –

+0

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

Các vấn đề liên quan