Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Ngoại lệ của trình kết nối MySQL 6.7.4 và Entity Framework 5

Mẹo để giải quyết vấn đề này là:

  1. Thêm tham chiếu vào MySql.DataMySql.Data.Entity thư viện của phiên bản chính xác (6.7.4.0 cho .NET 4.5, trong trường hợp của tôi) cho dự án.
  2. Chỉnh sửa machine.config với trình soạn thảo của bạn chạy với tư cách quản trị viên và thay thế tất cả các lần xuất hiện của phiên bản MySQL 6.6.5.0 bởi 6.7.4.0 .

Đối với bước thứ hai, hãy lưu ý rằng có nhiều machine.config các tệp, một tệp cho mỗi phiên bản khung (3.0, 3.5, 4.0) và kiến ​​trúc (32-bit, 64-bit). Cũng lưu ý rằng machine.config tệp cho .NET 4.5 nằm trong thư mục .NET 4.0. Bạn có thể tìm thấy machine.config các tệp trong:

Và:

Nếu không có tham chiếu đến MySQL trong machine.config , bạn có thể chưa cài đặt MySQL cho Visual Studio . Làm điều đó hoặc thêm phần sau vào app.config tệp dự án của bạn:

<system.data>
    <DbProviderFactories>
        <add name="MySQL Data Provider"
            invariant="MySql.Data.MySqlClient"
            description=".Net Framework Data Provider for MySQL"
            type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>

Tuy nhiên, lưu ý rằng khi bạn cài đặt cả MySQL for Visual Studio thêm đoạn mã trên vào app.config của bạn tệp, sau đó bạn sẽ nhận được ngoại lệ này:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thay đổi hành động tham chiếu khóa ngoại? (hành vi)

  2. Laravel Ngày so sánh thường xuyên từ trường datetime

  3. Cách đổi tên cơ sở dữ liệu trong MySQL

  4. Chạy script với EntityManager JPA trên Mysql

  5. Tại sao khóa cấp bảng tốt hơn khóa cấp hàng cho các bảng lớn?